我想知道,使用textField委托textDidChange
和
nameTextField.rac_textSignal().subscribeNext { (input) -> Void in
print(input)
}
?谁能帮我理解差异呢?
答案 0 :(得分:0)
我问自己同样的问题,我认为这两种模式之间没有太大的变化。
如果您有多个与代理相同类型的出口,并且您希望将其用于至少两个,则必须区分它们,以便您可以在委托方法中添加条件。由于您直接对出口物体采取行动,因此反应并非如此。
如果您已经为其他行为实施了反应库,或者您只是想通过此模式提高您的技能,则可以使用被动反应。否则,我不建议使用,它只会增加你的应用程序大小。
PS:这只是我个人的看法,我并不熟悉被动反应,但这对我来说似乎是正确的。答案 1 :(得分:0)
信号多播,将块作为观察者,并且不需要具体类型来符合委托。您也可以使用运算符组合信号,比如take(until: trigger)
来限制信号的生命周期。
毕竟,这些框架是声明性和表达性的,可以帮助您维护应用程序架构并更好地推理代码。