一.说一下我对MVVM的理解:
1.什么是MVVM?
我们常用的是MVC框架,层级也很清楚,但是由于功能的日益增加和代码的维护,更多的代码都写在Controller里面,导致C的臃肿.为了给C瘦身,演变出来一个MVVM框架.将一些数据请求和逻辑跳转放在ViewModel视图模型里面处理.
2.MVVM的好处:
2.1 低耦合。View可以独立于Model变化和修改,一个ViewModel可以绑定到
不同的View上,当View变化的时候Model可以不变,当Model变化的时候
View也可以不变。
2.2 可重用性。可以把一些视图的逻辑放在ViewModel里面,让很多View重
用这段视图逻辑。
2.2 独立开发。开发人员可以专注与业务逻辑和数据的开发(ViewModel)。设
计人员可以专注于界面(View)的设计。
2.4 可测试性。可以针对ViewModel来对界面(View)进行测试
并不是所有的项目都适合使用MVVM,他主要是项目比较庞大,逻辑比较复
杂,才适合使用,并不是所有的项目都适合,这个可以结合使用,这才是MVVM
的初衷.逻辑图如下:
这样一来,Vc中不需要引用Model,也就不需要对Model进行操作,减轻了C的负担.
Demo地址: https://github.com/liuzhiwu645/MVVM_Text
5.下面将学习MVVM + RAC事件绑定, RAC比较优雅......