苹果官方的MVC,M和C相互独立,不知道彼此的存在,两者的交互完全是由C来控制。
(以经典的TableView为例)
优点:View和Model可以重复使用,低耦合(苹果的的MVC就是为了解耦)
缺点:C中的代码太多,过于臃肿
变种的MVC,V拥有M
优点:减少了C中的代码
缺点:增加了View和Model的耦合度
个人认为还有一个优点,多处使用了该view,只需修改view内部的代码便能让项目中的所有显示一致。
Model和View的双向绑定:
Model中数据的改变会影响View上的显示内容,同时View也能影响Model中的数据。