일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙터링
- 애니메이션
- map
- Clean Code
- UITextView
- ios
- combine
- clean architecture
- MVVM
- RxCocoa
- Human interface guide
- collectionview
- 리펙토링
- 리팩토링
- tableView
- swiftUI
- SWIFT
- Refactoring
- 스위프트
- Xcode
- UICollectionView
- Protocol
- uitableview
- 클린 코드
- uiscrollview
- ribs
- Observable
- rxswift
- HIG
- swift documentation
- Today
- Total
목록binder (3)
김종권의 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 ..
참고) RxSwift6 기준, RxSwift: Observable, Observer, Producer, Binder RxCocoa: ControlEvent Observable, Observer, Producer 형태 RxSwift 프레임워크 안에 존재 Observable의 구조 ObservableConvertibleType 프로토콜 asObservable() 메소드 구현을 강제화 Observable로 변환할 수 있는 타입이면, asObservable 메소드가 존재 public protocol ObservableConvertibleType { associatedtype Element func asObservable() -> Observable } ObservableType ObservableType은 s..
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..