일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HIG
- 애니메이션
- uiscrollview
- 클린 코드
- SWIFT
- Protocol
- UITextView
- rxswift
- swiftUI
- Observable
- ios
- Xcode
- combine
- 리펙터링
- Clean Code
- Refactoring
- 리펙토링
- collectionview
- Human interface guide
- RxCocoa
- 리팩토링
- MVVM
- map
- UICollectionView
- swift documentation
- 스위프트
- clean architecture
- ribs
- uitableview
- tableView
- Today
- Total
목록RxSwift/RxCocoa (5)
김종권의 iOS 앱 개발 알아가기
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..
Delegate Proxy란? delegate를 사용하는 부분을 RxSwift로 표현할 수 있도록 하는 것 * 원리 : DelegateProxy.swift 파일과 DelegateProxyType.swift 이용 * Delegate개념 : 함수 실행위치를 미리 선언해 놓고, 구현은 직접 하라고 delegate시키는 것 -> (protocol로 선언) import UIKit import RxSwift import RxCocoa protocol MyDelegate { func willStart() func end() } class UISomething: NSObject { var delegate: MyDelegate? = nil func start() { delegate?.willStart() // 이 함수를..
custom extension이란? 객체.rx.함수접근이 가능하게끔 표현 첫 번째 방법, Binder * Oberver only (Observable처럼 값을 받아서 처리한다는 개념이 아닌, 함수처럼 안에서 수행하라는 의미) * Main Scheduler에서 수행하는 것이 default class ViewController: UIViewController { let bag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() let obs = Observable.of(true) rx.myCustom.onNext(false) // observer라 가능 rx.myCustom.subscribe // observer라 불가능 obs.asDriver..
RxCocoa UI Control과 다른 SDK 클래스를 wrapping한 커스텀 extension set ObserverType : 값을 주입 시킬 수 있는 타입 ObservableType : 값을 관찬할 수 있는 타입 1. ControlProperty subject와 같이 프로퍼티에 새 값을 주입시킬 수 있고(ObserverType), 값의 변화도 관찰할 수 있는 타입(ObservableType) Ex) 2. Binder ObserverType을 따름 (값을 주입시킬 수는 있지만, 값을 관찰할 수 없음) (error를 값으로 받을 수 없음, error가 주입되면 fatalError발생) 3. Traits RxCocoa의 Trait(UI작업시 코드를 쉽고 직관적으로 작성해 사용할 수 있도록 도와주는 특..
1. RxCocoa란? 다양한 protocol을 extension한 것들과 UIKit을 위한 rx영역을 제공하는 프레임워크 RxCocoa는 단방향성을 갖음 - Producer는 값을 생성하고, Consumer는 값을 처리 * 이벤트를 발생하는 producer가 처리하는 consumer에게 bind(to:)시키는 것이 중요 2. 사용 1) RxCocoa없이 생성 import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var tableView: UITableView! // 테이블뷰 데이터 let items = ["1", "2", "3", "4", "5"] // 섹..