![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lZDQ1/btqFAeSZFSD/2xy6nIhu7SQSYDoYK0o4I0/img.png)
Basic Method Parameter 기본 메서드 매개변수 스위프트 메서드에서 사용 되는 인자값(parameters)은 기본적으로 그 값이 변하지 않는 상수(constants)로 되어있습니다. 그렇기 때문에 메서드 블록 내에서 메서드의 인자값 상수를 변경하는 것은 컴파일 타임 에러를 유발합니다. 이 말은 즉, 실수던 고의던, 개발자는 메서드 내에서 일반적인 메서드 인자값을 변경시킬 수 없다는 것을 의미합니다. 위와 같이 메서드의 기본 매개변수는 let 상수이므로, 메서드 내에서 변경을 시도할 시 컴파일 타임 에러를 유발하게 됩니다. 그렇다면 메서드 내에서 전달받은 매개변수의 값을 변경하고, 해당 원본 변수에도 영향을 주고 싶다면 어떻게 해야할까요?? 😒 만약 메서드 내에서 메서드 인자값을 변경하고 싶..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/10htZ/btqFxzCrMGX/cyKYTIhZERHgpVMKo3np3K/img.png)
Protocol Associated Type Declaration 프로토콜에 associatedType 선언하기 프로토콜(Protocol)은 associatedType 키워드를 사용해서 관련 타입(associated types)를 선언합니다. associatedtype은 프로토콜의 정의 일부로서 사용되는 별명타입을 제공합니다. 관련타입(associatedtype)은 제네릭 매개변수 절에 있는 타입 매개변수와 유사합니다. 하지만, associatedtype은 정의되어 있는 프로토콜의 Self와 관련이 있다는 특징이 있습니다. 앞서 말한 Self는 프로토콜을 채택하고 준수하는 실질적인 대상 타입을 참조합니다. 이에 대한 더 자세한 내용이 궁금하다면, Associated Types를 참고하세요. associa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/exAWmo/btqFrmQbOlK/7IHR4koI6vfkU9caMY92tK/img.png)
Type Alias Declaration 타입 별명 선언 타입 별명 선언(type alias declaration)은 존재하는 타입에 대한 별칭을 당신의 프로그램에 알려줍니다. 타입별명(Typealias)은 typealias 키워드를 사용해서 선언됩니다. 그 예시는 아래와 같습니다. 위의 코드를 보시면 Pair, Typle이라는 각 2, 3개의 Int 타입을 갖는 별칭이 만들어 졌습니다. 맨 앞에는 typealias를 붙이고, Int 2개 3개로 이루어진 튜플타입에 각각 Pair, Tuple이라는 별침을 만들어 준 상황이 됩니다. 이로서 해당 별칭을 타입으로 지정해서 그에 맞는 값을 할당해줄 수 있게 되었습니다. 이렇게 특정 타입에 대한 별칭(alias)이 지어진 뒤, 해당 별명은 프로그램 내에 언제든 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DSq8F/btqFoRh8JE0/SQTuDOkrXln3WatWBvREk0/img.png)
Generic Functions 제네릭의 기능 제네릭(Generic) 기능은 어떠한 타입에서도 작동될 수 있습니다. 아래의 코드는 swapTwoValues(_:_:) 라는 다양한 타입을 수용할 수 있는 메서드입니다. 위의 swapTwoValues(_:_:) 메서드는 어떠한 타입이던 동일한 타입이기만 되는 두개의 인자를 받아서 값을 swap할 수 있습니다. 다양한 타입을 스왑하기 위해 다수의 메서드를 작성할 필요가 없게 되는 것입니다. 기존에 Int타입으로만 한정해서 받은 메서드, swapTwoIntValues(_:_:)메서드와 비교해서 몸체 내부의 구현 코드는 별다른 차이가 없습니다. 이제 두개의 메서드를 비교해 보도록 하겠습니다. 제네릭(Generic)을 사용한 메서드인 swapTwoValues(_:_..
- Total
- Today
- Yesterday
- publisher
- 알고리즘
- 김프매매
- Collection
- 개발자문서
- 부스트코스
- swift 기초
- 프로토콜
- createML
- 프로그래머스
- 컬렉션
- swift
- CoreML
- 프로그래머스swift
- Protocol
- 백준swift
- swift string
- ios
- 자연어처리
- uikit
- swift언어
- swift문제
- swift알고리즘
- SwiftUI
- 스위프트
- swift reduce
- 백준알고리즘
- 알고리즘문제
- Swift 알고리즘
- swift 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |