我正在开发一个提供26(字母)按钮的应用程序。现在,它们都连接到ViewController
中的同一个函数,后者又调用ViewModel
中的另一个函数,最后这个函数调用publishSubject.onNext()
。 ViewController
订阅了PublishSubject
,这就是整个圈子。
我这样做的原因是,我不得不将发布主题绑定到按钮的点击,我必须知道发件人是谁。反正有没有这样做?如果没有,是否有比我的更聪明的设计?
谢谢!
答案 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