MVC
MVC是一种设计思想,贯穿于整个iOS开发中,需要积累一定的项目经验,才能深刻体会其中的含义和好处
nMVC中的三个角色
ØM:Model,模型数据
ØV:View,视图(界面)
ØC:Control,控制中心
nMVC的几个明显的特征和体现:
ØView上面显示什么东西,取决于Model
Ø只要Model数据改了,View的显示状态会跟着更改
ØControl负责初始化Model,并将Model传递给View去解析展示
说明:
(1)在开发过程中,作为控制器处理的量级应该很轻,不该操心的不操心。协调好模型和视图就ok了。
(2)三个部分各司其职,数据模型只负责数据的处理,视图部分只负责把拿到的数据进行显示,两个部分都是被动的,等待着大管家控制器的调遣。
(3)在OC中,如果视图和数据模型之间有通道,那控制器是否处于失控状态呢?
MVVM
1. View 和viewController结合
2. View 和viewController不能直接和Model进行交互,需要靠ViewModel
3. ViewModel:是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码
Model—其他的逻辑判断
view引用viewModal,反过来不行
viewModel引用了view,反过来不行