Single | Maybe | Completable | |
---|---|---|---|
Type | ObservableType | ObservableType | ObservableType |
呼び出し | subscribe | subscribe | subscribe |
onSuccess: | ○ | ○ | × |
onCompleted: | × | ○ | ○ |
onError: | ○ | ○ | ○ |
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 |
PublishRelay | BehaviorRelay | |
---|---|---|
初期値 | なし | あり |
Type | ObservableType | ObservableType |
値を流す | accept | accept |
購読 | subscribe | subscribe |
onNext: | ○ | ○ |
onCompleted: | × | × |
onError: | × | × |
onDisposed: | ○ | ○ |
備考 | ・PublishSubjectのラッパー | ・BehaviorSubjectのラッパー ・.valueで値にアクセスできる |
Driver | Signal | |
---|---|---|
Thread | main scheduler | main scheduler |
Type | ObservableType | ObservableType |
値を流す | - | - |
購読 | drive | emit |
onNext: | ○ | ○ |
onCompleted: | ○ | ○ |
onError: | × | × |
onDisposed: | ○ | ○ |
備考 | ・購読直後に直近のイベントを流す ・Shares side effects (share(replay: 1, scope: .whileConnected)) |
・購読直後に直近の値を流さない |