tukuyo's blog

へっぽこまん

スポンサーリンク

RxSwift 同じ機能のボタンをまとめる方法

はじめに

RxSwiftを勉強して数ヶ月が経ち、まだそこまで理解できていないけどアプリ制作に取り入れてます。 ボタンが複数あるアプリで、全てのボタンを一つのメソッドで受け取って処理したい場合
以下のようにするのが一番良さそう。

let observable = Observable.merge(Button1.rx.tap.map{ 0 },
                                       Button2.rx.tap.map{ 1 },
                                       Button3.rx.tap.map{ 2 },
                                       Button4.rx.tap.map{ 3 },
                                       Button5.rx.tap.map{ 4 })
observable.subscribe(onNext: {[weak self] id in
    self?.viewModel.pushButton(id)
}).disposed(by:disposedBag)

参考

https://stackoverflow.com/questions/52757121/how-to-get-which-button-is-clicked-in-rxswift

スポンサーリンク