일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- HIG
- ribs
- Protocol
- swiftUI
- uitableview
- 클린 코드
- Refactoring
- 리팩토링
- Human interface guide
- rxswift
- UICollectionView
- 리펙터링
- tableView
- Observable
- RxCocoa
- Clean Code
- SWIFT
- UITextView
- collectionview
- uiscrollview
- combine
- map
- ios
- 리펙토링
- MVVM
- swift documentation
- 애니메이션
- clean architecture
- 스위프트
- Today
- Total
목록ControlEvent (3)
김종권의 iOS 앱 개발 알아가기
RxSwift의 Reactive로 만든 getter, setter myView라는 커스텀 뷰를 사용할 때, myView의 이벤트들을 rx 네임스페이스로 접근 getter부분: .rx.tapButton setter부분: .rx.setTitleButton func bind() { myView.rx.tapButton //
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..