我想了解为什么大多数教程和指南/文章建议使用ReactiveCocoa进行VC和VM或VC和M之间的通信,而看似标准的委托协议方法就足够了并且更松散地耦合?
我在远程控制应用程序上工作,该应用程序侦听XML字符串,然后通过委托回调给VC并更新View。但我正在考虑改用MVVM来减小VC的大小。
我不明白为什么你需要使用额外的框架来进行VC和VM之间的通信,正如我通常所建议的那样,当你可以实现我目前在M和VC之间使用的另一层协议时?
不是真的对代码问题感到抱歉,但是我想更全面地理解为什么ReactiveCoca如此强烈推荐,这可以在本地完成并且不依赖于框架?
由于
答案 0 :(得分:0)
我想说只是用RAC信号替换代表不是Reacting编程的目标。如果你有简单的视图< - >模型通信,那么就没有必要切换到Reactive编程。
反应式编程是使用异步数据流/信号进行编程,我们可以合并,订阅和有条件地做出反应。
如果我们想要在对不同实体执行操作的多个API请求的响应上更新某些UI,请按顺序逐个调用api&按照他们完成将是混乱的。但是使用Reacting编程,只需创建信号按顺序添加它们。一旦顺序中的所有操作完成,我们终于可以观察到......因此,Reactive Cocoa将处理所有异步代码开销和按顺序添加另一个信号,更新,合并将非常容易。
http://nshipster.com/reactivecocoa/以非常简单的方式描述了所有功能。