目的

RxSwiftは難解だと思う。
新規プロジェクトを制作の場合でも、指示されない限りは絶対に使わない。
後述する参考ページの項目
RxSwiftのまとめのリンクを記載しているが、4ページと結構なボリューム数がある。
  RxSwiftはスッキリした書き方ができ、拡張もしやすいイメージがあるが、
処理の解読をする場合は長ったらしい部分が多く、やっていることが分かりにくい。

分かりにくいというのは、
「だったらRxSwiftを使わないなら、分かりやすくなるか」
というと、そうでもない。変わらない。
ただ、自分がRxSwiftに慣れていないので、ちょっと難しく感じるという意味で分かりにくい
ということ。
 

環境

  • Xcode Version 12.1
  • Swift 5

参照サイト

RxSwiftについてようやく理解できてきたのでまとめることにした(1)
RxSwiftの機能カタログ  

超簡易メモ

RxSwiftの案件は殆どないので、忘れがちたが、以下を見れば少しは思い出すという程度の簡易メモ
しっかり学習したい方は参照サイトへどうぞ!

PublishSubject

PublishSubjectはイベント発火とイベント受け取りができるクラスSubjectの一種

PublishSubject
let xxxx = PublishSubject<aaaa>()

BehaviorSubject

BehaviorSubjectもPublishSubjectと同じ種類で、Subjectの一種
違いは初期値を設定できるのと、発火時の状況を取得できるところ

BehaviorSubject
let yyyy = BehaviorSubject<bbbb>(value: cccc)

Observable

Observableは上記2つのSubjectを外部へ公開するようにするための設定

Observable
var zzzz: Observable<aaaa> { return xxxx }

イベント発火方法

イベント発火
self.xxxx.onNext(aaaa形式の変数)

イベント受け取り方法

処理の中で、case文で分岐してることが多く、そのためコード長ったらしくなり結果して見づらくなることが多い

イベント受け取り
xxxx.subscribe(onNext: { (aaaa形式の変数) in
    //処理
}).disposed(by: disposeBag)

map,filter

RxSwiftにもmapやfilterがある。配列のmapやfilterと同じ効果。
配列の代わりにイベントになる。