Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active May 10, 2019 02:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KentarouKanno/8f83f79565d6401107b5622d2b88ccad to your computer and use it in GitHub Desktop.
Save KentarouKanno/8f83f79565d6401107b5622d2b88ccad to your computer and use it in GitHub Desktop.

RxSwift

Traits

Single Maybe Completable
Type ObservableType ObservableType ObservableType
呼び出し subscribe subscribe subscribe
onSuccess: ×
onCompleted: ×
onError:

Subjects

PublishSubject BehaviorSubject ReplaySubject Observable
初期値 なし あり あり/なし
Type ObservableType
ObserverType
ObservableType
ObserverType
ObservableType
ObserverType
ObservableType
値を流す onNext: onNext: onNext: -
購読 subscribe subscribe subscribe subscribe
onNext:
onCompleted:
onError:
onDisposed:
備考 今の状態を一回通知した上で変化があった場合それを通知する

try? .value()で値にアクセスできる
subscribe時に指定したbufferSize分の過去のeventを受け取れるSubject

Relays

PublishRelay BehaviorRelay
初期値 なし あり
Type ObservableType ObservableType
値を流す accept accept
購読 subscribe subscribe
onNext:
onCompleted: × ×
onError: × ×
onDisposed:
備考 ・PublishSubjectのラッパー ・BehaviorSubjectのラッパー
・.valueで値にアクセスできる

RxCocoa

Traits

Driver Signal
Thread main scheduler main scheduler
Type ObservableType ObservableType
値を流す - -
購読 drive emit
onNext:
onCompleted:
onError: × ×
onDisposed:
備考 ・購読直後に直近のイベントを流す
・Shares side effects (share(replay: 1, scope: .whileConnected))
・購読直後に直近の値を流さない

ControlProperty / ControlEvent

Scheduler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment