WithLatestFrom 첫 번째 Observable에서 아이템이 방출될 때마다 두 번째 Observable의 최신 아이템과 결합해서 방출 CombineLatest 어떤 Observable이든 아이템이 방출될 때마다 다른 Observable의 최신 아이템과 결합해서 방출 Zip Observable의 방출된 아이템이 다른 Observable의 아이템과 짝을 이루면 결합해서 방출 참고 아래 사이트에서 직접 마블을 움직여보는게 이해가 가장 빠르다! https://rxmarbles.com/#withLatestFrom http://reactivex.io/documentation/operators/combinelatest.html
toArray let disposeBag = DisposeBag() Observable.of(1, 2, 3, 4, 5) .toArray() .subscribe({ print($0) }).disposed(by: disposeBag) //success([1, 2, 3, 4, 5]) toArray는 배열로 만들어줍니다. Map let disposeBag = DisposeBag() Observable.of(1, 2, 3, 4, 5) .map { $0 * 2 } .subscribe(onNext: { print($0) }).disposed(by: disposeBag) //2 //4 //6 //8 //10 Map은 새로운 이벤트로 변경해줍니다. 예시 self.myTextField.rx.controlEvent(.edi..
Subject와 Relay Subject는 Observable이면서 Observer일 수 있습니다. 데이터를 방출하고(emit) 읽을(subscribe) 수 있습니다. Relay는 RxCocoa를 import해서 씁니다. cocoa가 붙은 것으로 알 수 있듯이 UI를 위해 만들어졌습니다. Relay는 error와 complete가 없고 dispose할 때까지 종료되지 않습니다.. UI 이벤트를 처리하기 때문입니다. PublishSubject let disposeBag = DisposeBag() let subject = PublishSubject() subject.onNext("1") subject.subscribe { event in print(event) } subject.onNext("2") subj..
Observable ReactiveX에서 옵저버는 Observable을 구독한다. Obseravable이 배출하는 하나 또는 연속된 항목에 옵저버는 반응한다. 이러한 패턴은 동시성 연산을 가능하게 한다. 그 이유는 Observable이 객체를 배출할 때까지 기다릴 필요 없이 어떤 객체가 배출되면 그 시점을 감시하는 관찰자를 옵저버 안에 두고 그 관찰자를 통해 배출 알림을 받으면 되기 때문이다. 출처 : reactivex.io/documentation/ko/observable.html Observable은 '관측가능한' 객체를 말합니다. Observable이 어떤 값을 방출하면 옵저버가 그 값을 확인하는 것 입니다. Just let observable1 = Observable.just(1) observab..