MVVM下,将tableView的协议及数据源放在ViewModel层;
网络请求也放在相应的ViewModel下。
控制器得到简化,如下:
RAC的基本使用:
1.绑定VM和存储数据的arr,arr变化,刷新tableView
2.cell上按钮的点击事件,AlertView的点击事件
3.遇到的坑
loadData中,对存储数据的数组赋值时,不能用_arr = xxx 的形式,因为self方法实际上是用了get和set方法间接调用,下划线方法是直接对变量操作。
Demo地址:https://github.com/m1penny/RACTest/
Swift版本:https://github.com/m1penny/RACTestSwift/(用通知,闭包替代了RAC)