RxSwift:将PublishSubject绑定到多个按钮并接收发件人

时间:2017-03-23 07:47:10

标签: bind rx-swift publishsubject

我正在开发一个提供26(字母)按钮的应用程序。现在,它们都连接到ViewController中的同一个函数,后者又调用ViewModel中的另一个函数,最后这个函数调用publishSubject.onNext()ViewController订阅了PublishSubject,这就是整个圈子。

我这样做的原因是,我不得不将发布主题绑定到按钮的点击,我必须知道发件人是谁。反正有没有这样做?如果没有,是否有比我的更聪明的设计?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以>>> import regex >>> regex.findall(r"(?be)(mazda2 standard|mazda 2){e<=1}", "mazda 2 standard") ['mazda 2 standard'] >>> 发送PublishSubject,然后每次点按按钮,您都可以将按钮标题作为事件数据发送。

String

通过这种方式,您可以将发件人与publishSubject.onNext(sender.title)区分开来并保留当前的设计。

<强>更新

再次阅读你的问题之后,我意识到你正在努力实现比现在更具反应性的方式。因此,您不必从所有按钮中提取ViewModel,而只需IBActions,然后IBOutlets将所有这些按钮绑定到viewDidLoad。像这样:

PublishSubject