什么是MVVM
MVVM简单说就是将部分逻辑从ViewController中拆分出来,并整合起来在ViewController和Model中间加多一个ViewModel,ViewModel不直接引用View,ViewController也不引用Model中的方法,所有网络回调数据处理等逻辑都放到ViewModel中,ViewController通过ViewModel来请求数据和更新数据。
- MVVM是为了解决MVC结构中Controller过于臃肿的问题。
- MVVM是将Controller中不可复用的部分抽离出来。
那么Controller应该发挥什么作用呢(或者说必须在Controller中实现的功能)
- 在初始化时,构造相应的 View 和 Model。
- 监听 Model 层的事件,将 Model 层的数据传递到 View 层。
- 监听 View 层的事件,并且将 View 层的事件转发到 Model 层。