1
chmlai 2015-02-19 14:10:30 +08:00
首先, 在 Button 的绑定方式对项目的复杂度几乎没有影响. 如果你没有写足够多的代码, 确实很容易纠结这个上面.
"Reactive代码写多了之后显得一团糟", 这很可能是你还没学会 RAC(FRP); 假设业务的复杂度不变, 与 RAC 的声明式编程比各种 delegate, action-target, block-callback 混在一起,定义各种状态那才叫一团糟. 循环引用根本不是什么问题. 没什么办法, 多写点代码, 多看点资料, 多体会一下就好了. |
2
Elethom 2015-02-19 15:49:02 +08:00
我能說用了 RAC 之後代碼可讀性提升了一個數量級麼⋯⋯
不明白為什麼要把代碼分開寫,需要響應一個 control event 只需要一行 subscribe 就夠了。 |
3
nagato OP @Elethom
目前是这样的, 1. ViewModel里面先构建一个RACCommand,create RACSignal 什么的就不说了 2. 在UIView的子类里把某个UIButton进行绑定之前那个command,addTarget:action 3. 在需要相应UIButton事件的地方,subscribe ViewModel里的那个RACCommand 但是所有这些,其实一个IBAction就可以搞定了。领导给的解释是,为了保持Reactive的风格,请还是保持前者 |
4
chmlai 2015-02-19 20:50:22 +08:00
|
5
WeeTom 2015-03-03 16:38:18 +08:00
http://www.teehanlax.com/blog/model-view-viewmodel-for-ios/
看看作者怎么说。 一个UIButton 是很简单,但是当你的项目足够大,Controller里面会包含太多的业务逻辑代码,非常难以维护。。这点我也是深有体会~而且很乱。。 我在做新项目也是准备使用ReactiveCocoa的~ |
6
kepenj 2015-03-10 10:36:35 +08:00
ReactiveCocoa 个人觉得作为快速构建一个新的应用,同时具备vc瘦身和单元测试非常方便和极优。但是理解RAC和整体框架源码是要花费不少时间;同时如果项目规模较大后,所有逻辑和模块还是得自己写和维护。
|