일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UITextView
- SWIFT
- rxswift
- 리팩토링
- collectionview
- ios
- Protocol
- Observable
- ribs
- 리펙터링
- HIG
- clean architecture
- Xcode
- Clean Code
- 리펙토링
- swiftUI
- map
- uitableview
- swift documentation
- tableView
- uiscrollview
- UICollectionView
- 애니메이션
- MVVM
- 스위프트
- Human interface guide
- combine
- 클린 코드
- RxCocoa
- Refactoring
- Today
- Total
목록ControlProperty (2)
김종권의 iOS 앱 개발 알아가기
Reactive Extension Reactive란? base를 초기화로 넘겨주면, 내부에서 base property를 들고있는 상태 @dynamicMemberLookup public struct Reactive { public let base: Base public init(_ base: Base) { self.base = base } public subscript(dynamicMember keyPath: ReferenceWritableKeyPath) -> Binder where Base: AnyObject { Binder(self.base) { base, value in base[keyPath: keyPath] = value } } } Reactive Extension extension으로 Base ..
Traits란? UI처리에 특화된 Observable (MainThread에서 실행, Error이벤트가 없음) Traits를 구독하는 모든 구독자는 동일한 시퀀스를 공유 (share연산자가 내부적으로 사용된 상태) Control Property Traits중에 가장 기본형 (Main스케줄러, error이벤트를 발생하지 않음, 동일한 시퀀스 공유) rx네임 스페이스와 함께 사용: textField.rx.text.orEmpty Control Event event를 Observable로 래핑한 속성 (여기서의 event는 버튼을 tap하는 등의 이벤트를 얘기) Observable의 역할은 수행하짐나, ControlProperty와는 다르게 Observer의 역할은 수행하지 못함 control이 해제될 경우 C..