일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- RxCocoa
- swiftUI
- Refactoring
- MVVM
- UICollectionView
- rxswift
- uiscrollview
- Protocol
- 리펙터링
- 애니메이션
- Human interface guide
- clean architecture
- SWIFT
- 리펙토링
- Observable
- uitableview
- UITextView
- ios
- 스위프트
- 리팩토링
- HIG
- combine
- swift documentation
- Clean Code
- 클린 코드
- Xcode
- tableView
- map
- collectionview
- ribs
- Today
- Total
목록existential any (2)
김종권의 iOS 앱 개발 알아가기
existential any 개념 protocol에서 generic을 지정해줄 때 any 키워드를 사용하여 편리하게 generic 처리를 할 수 있는 것 protocol ABC { associatedtype MyType } // 기존 - 제네릭 선언해야함 func printValue(type: T) { print(type) } // any 키워드 사용 - 제네릭을 따로 선언해주지 않아도 됨 func printValue2(type: any ABC) { print(type) } protocol 타입 다루기 DIP원칙과 테스트에 용이한 구성을 위해서 데이터 모델을 protocol로 참조되게 설정 ex) 모델이 MyItem이고, 이 모델은 MyItemable 프로토콜을 따르게 한 후 사용하는쪽에서는 MyItem..
some 키워드와 any 키워드 함수의 파라미터에 some과 any 키워드를 사용하면 자동으로 타입을 추론할 수 있게끔 컴파일러가 동작 아래에서 알아볼 특정 케이스에서 protocol을 사용할때 컴파일에러가 나는 케이스가 존재하는데 이 컴파일에러를 없애고 간편하게 사용할 수 있도록 돕도록 나온것이 some과 any 키워드 컴파일러가 더욱 유연하게 구체적인 타입을 추론할수 있게 만드는 키워드 Protocol 타입 컴파일 에러 매개변수에 Protocol 타입을 직접 참조할 수 없는 케이스가 존재 왜 참조를 할 수 없을까? 프로토콜이 associatedtype을 선언하면 컴파일러가 해당 프로토콜을 참조를 제한하기 때문 만약 associatedtype이 프로토콜 내부에 없다면 바로 참조가 가능 swift5.7 ..