RxSwiftでSubjectの使い方


RxSwiftでSingleで処理をラップする方法
の続編

次はSubjectのやり方を調べてみた


・Subject
自分の意志でnextを呼べるようにする
subjectを定義して、それをobservable化する

class A {
    private let subject = PublishSubject<[String]>()

    public var observableA: Observable<[String]> {
        return subject.asObservable()
    }
}

・Subscribe
上で作ったSubjectをsubscribeする

A().observableA.observableSearchGag
    .observeOn(MainScheduler.instance)
    .subscribe(onNext:{ string -> Void in
        
    })
    .disposed(by: disposeBag)

 

これでファイルを分割できるので
依存を減らしたりとか
責務を分けたりできそうです

参考
https://qiita.com/_ha1f/items/43b28792d27dbee7133d

関連記事:

Pocket