RAC--MVVM 心得

来源:互联网 发布:牧之逸 知乎 编辑:程序博客网 时间:2024/06/10 23:55

最近在学习RAC框架,在仿写项目的过程中有一些体会,记录下自己的看法。

1.熟悉MVVM中viewModel的用途。
2.在vc与vm数据交互,用RAC信号机制来处理,如vm中创建几个信号,并且这些信号是作为vm的属性,信号被创建,需要有订阅者,则需要在vc中去订阅。但此时的信号应该是由vm的属性信号来订阅。
3.那么问题来了,如果是在项目中,最好是创建一个父类baseViewModel,所有的viewModel模型都继承这个父类,而且控制器的创建也是与viewModel相关的,比如创建tabbarVC,那可以让所有的控制器都继承一个父类(该父类有一个属性,就是baseViewModel,父类提供一个方法,-initWithViewModel:(baseViewMode *)viewModel)
4.这个时候比如进入某个viewController,它这里面的数据都是由该控制器对应的vm模型来的,在该viewController中,提供一个vm属性viewModel,此时就方便访问vm中的数据。
5.熟练使用绑定,如RAC(某个对象,对象里的熟悉) = RACObserve(某个变的对象,该对象的某个属性),
btn点击事件,也可以用这个RAC(btn,rac_command) = RACObserve(self.viewModel,btn对应的信号)

6.待续…