Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RxSwift

Avatar for ren ren
October 25, 2019

 RxSwift

Overview of RxSwift

Avatar for ren

ren

October 25, 2019
Tweet

More Decks by ren

Other Decks in Programming

Transcript

  1. dispose subscribe を解除する。 onCompleted や onError が発⽣すると Observable はもう Event

    を発⾏できないの で⾃動的に dispose される。 DisposeBag DisposeBag は DisposeBag ⾃⾝が開放されるタイミングで、登録された subscribe を dispose する。
  2. Subject Subject は Observable かつ Observer のオブジェクト。 Event は onNext

    , onComplete , onError が流れる。 4種類ある AsyncSubject ReplaySubject BehaviorSubject PublishSubject
  3. Subject BehaviorSubject 初期値をもつ Subject 。 直前に渡された値を保持しsubscribe()された際にその値を流す。 onNext , onCompleted ,

    onError は発⽣し次第そのまま流す。 PublishSubject 初期値をもたない Subject 。 onNext , onCompleted , onError は発⽣し次第そのまま流す。
  4. Relay Relay は Subject のラッパー。 Event は onNext のみが流れる。 2種類ある

    BehaviorRelay : BehaviorSubject のラッパー。 PublishRelay : PublishSubject のラッパー。
  5. Traits Single ⼀度だけ Event を送る Observable 。 流れる Event は

    onSuccess , onError の2つ。 onSuccess の実態は onNext と onCompleted の組み合わせ。 onNext が含まれるため、値を流すことができる。 Completable ⼀度だけ Event を送る Observable 。 流れる Event は onCompleted , onError の2つ。 onNext が含まれないため、値を流すことができない。
  6. Traits Maybe ⼀度だけ Event を送る Observable 。 流れる Event は

    onSuccess , onCompleted , onError の3つ。 Single と Completable を合わせたようなもの。
  7. RxCocoa Traits ControlProperty エラーを無視できる。 メインスレッドで実⾏される。 replay する。 メモリが解放されると complete が流れる

    ControlEvent エラーを無視できる。 購読時に初期値を流さない。 メモリの割り当てが解放されると complete が流れる。 メインスレッドで実⾏される。
  8. HotとCold Hot subscribe されてなくても Event が流れ、 1つの Stream を複数の Observer

    が subscribe できる。 Cold subscribe されて初めて Event が流れ出し、 subscribe される度に別々の Stream が⽣成される。