iOS中的MVC和MVVM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS中的MVC和MVVM相关的知识,希望对你有一定的参考价值。

参考技术A MVC的实现思路是:用户操作View,在Controller层完成业务逻辑处理,更新Model层,将数据显示在View层。
在MVC中,每个层之间都有关联,耦合比较紧,在大型项目中,维护起来比较费力。
View把控制权交给Controller层,自己不执行业务逻辑;Controller层执行业务逻辑并且操作Model层,但不会直接操作View层;View和Model层的同步消息是通过观察者模式进行,而同步操作是由View层自己请求Model层的数据,然后对视图进行更新,观察者模式可以做到多视图同时更新。

Person.h

Person.m

TestView.h

TestView.m

ViewController.m

MVVM和MVP的最大区别是采用了双向绑定机制,View的变动,自动反映在ViewModel上。
MVVM结构如图:

模型层:
Person.h

Person.m

视图层:
TestView.h

TestView.m

PersonViewModel.h

PersonViewModel.m

ViewController.m

以上是关于iOS中的MVC和MVVM的主要内容,如果未能解决你的问题,请参考以下文章

iOS中的MVC和MVVM

iOS中的VIPER和MVC,MVVM 架构之间的比较

浅谈iOS中的MVC MVP MVVM

iOS 基于 MVC 的项目重构总结

ios mvc 中model强转换是怎么写的

Cocoa / iOS / iPhone中的模型对象所有权和MVC