일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swiftUI
- Xcode
- map
- Protocol
- combine
- collectionview
- 리펙토링
- UICollectionView
- Clean Code
- RxCocoa
- tableView
- 스위프트
- HIG
- 애니메이션
- swift documentation
- uitableview
- Human interface guide
- Observable
- clean architecture
- UITextView
- 리펙터링
- ribs
- 리팩토링
- 클린 코드
- Refactoring
- uiscrollview
- SWIFT
- MVVM
- ios
- rxswift
- Today
- Total
목록any 키워드 (2)
김종권의 iOS 앱 개발 알아가기
Existential Type 개념 * Existential: "존재하는" Existential Type는 protocol를 명시적으로 타입을 지정하는 경우, 그 protocol을 Existential Type이라고 명칭 ex) 아래 SomeProtocol을 Existential Type이라고 명칭 let instance: SomeProtocol = SomeClass() Existential Any 개념 Existential Type을 사용할 때, dynamic dispatch가 일어나고 적지않은 메모리 할당 등 비용이 비싼 단점이 존재하여 프로그래머에게 Existential Type을 사용할땐 주의하게끔 any 키워드를 붙여서 사용하라는 의미 (비용관련 내용) (any 키워드를 붙여야 하는 이유 - 실..
some 키워드와 any 키워드 함수의 파라미터에 some과 any 키워드를 사용하면 자동으로 타입을 추론할 수 있게끔 컴파일러가 동작 아래에서 알아볼 특정 케이스에서 protocol을 사용할때 컴파일에러가 나는 케이스가 존재하는데 이 컴파일에러를 없애고 간편하게 사용할 수 있도록 돕도록 나온것이 some과 any 키워드 컴파일러가 더욱 유연하게 구체적인 타입을 추론할수 있게 만드는 키워드 Protocol 타입 컴파일 에러 매개변수에 Protocol 타입을 직접 참조할 수 없는 케이스가 존재 왜 참조를 할 수 없을까? 프로토콜이 associatedtype을 선언하면 컴파일러가 해당 프로토콜을 참조를 제한하기 때문 만약 associatedtype이 프로토콜 내부에 없다면 바로 참조가 가능 swift5.7 ..