RxSwift, RxCocoaのワードをざっくりと理解する
初めに
今回はRxSwiftを学習するにあたって出てくるてあろうワードについて簡単にですがまとめてみました。
ざっくりとても理解してもらうことを目的にしています。
RxSwift, RxCocoa 共通
event:
enumで定義されている, Streamに流れるイベント,値、 中には onNext, onError, onCompletedがある
enum Event<Element> {
case next(Element) // next element of a sequence
case error(Swift.Error) // sequence failed with error
case completed // sequence terminated successfully
}
Observable:
実行者, observerにイベントの発行を通知する, event を受け取れる
Observer:
Observableからデータストリームを受け取るクラス, event を流せる
Subject:
Observer, Observableの両方として機能する
イベント | 初期値 | |
---|---|---|
BehabiorSubject | onNext, onError, onCompleted | 必要 |
PublishSubject | onNext, onError, onCompleted | 必要ない |
BehavoirRelay | onNextのみ | 必要 |
PublishRelay | onNextのみ | 必要ない |
〇〇Subject:
onNext以外にもonErroe, onCompletedなど流せる→責務が広いため実務ではあまり使われない
〇〇Relay:
onNextのみ流す→責務が小さく扱いやすい→積極的に使いたい
Trants:
Observableの簡単なラッパーで、
RxSwift → Single, Completable, Maybeが用意されていて、
RxCocoa → Driver, Signal, ControlEvent/Propertyがある
Single:
値 か error のイベントが一回だけ発生する.
Completable:
complate か error のイベントが一回だけ発生する.
Maybe:
(complate か 値) または error が一回だけ流れる.
イベントが発生する側は Subject をインスタンス化して、外部へは Observable の形で公開するのが基本.
RxCocoa
bind:
subscribeでもかえが効くが、バインディングしていることがより明示的になる→onNextしか流れない
Signal:
エラーが発生しない, main スレッドで実行, subscribe してから発生した event を受け取れる.
Driver:
エラーが発生しない, main スレッドで実行, 一つ前の event を受け取れる.
ControlEvent:
エラーが発生しない, main スレッドで実行, メモリ割り当て開放時に complete が発生, subscribe してから発生した event を受け取れる.
ControlProperty:
エラーが発生しない, main スレッドで実行, メモリ割り当て開放時に complete が発生, 一つ過去の event を受け取れる. 初期値が必要.
Binder:
エラーイベントを処理しない, 指定した Scheduler (デフォルトは main) で実行. bind(to:) で bind 可能になる.
Author And Source
この問題について(RxSwift, RxCocoaのワードをざっくりと理解する), 我々は、より多くの情報をここで見つけました https://qiita.com/pecoms/items/f752f36bfb1ef495602a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .