扫码关注官方订阅号
自从面试了之后,被问到这个问题,基本上答得很模糊. 到底怎么样才算比较好的理解这两个框架?如何真正使用好呢
人生最曼妙的风景,竟是内心的淡定与从容!
安利一下:MVVM 模式及 ReactiveCocoa
准确的说 MVC和MVVM是两种设计模式,而并非框架。有基于MVC或者MVVM设计模式的框架设计理念这个东西,看看这篇知乎文章吧希望能帮到你。
ios中MVC
// 分离View,创建一个新的view作为当前控制器的视图,实现控件布局 let myView = MyView() // 模型 let model = MyModel() override func viewDidLoad() { super.viewDidLoad() // 当前视图交给MyView管理 view = myview // 调度数据,给视图填充内容 myview.setObjct(model) }
MVVM 实际上和上面也差不多,差别就是不通过Controller直接调用Model,而是通过一层ViewModel,间接管理模型;执行网络访问,数据格式化操作,比如从网络获取数据之后,将UNIX时间戳转换成自己需要的显示格式,再反馈给控制器;这样就简化了控制器的大量代码;同时视图层也可以根据代码复杂程度再生产一层中间视图管理层,进行视图的调度;
总结MVVM的特点就是:减少Controller中的代码,将和数据有关的一部分处理,分离出来,在ViewModel中进行处理,将和视图相关的复杂代码分离到视图管理层上;他所传达的思想就是,MVC这种结构并不局限于Model,View,Controller三个文件,开发过程中需要根据具体情况分离代码量;使代码结构更清晰。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
安利一下:MVVM 模式及 ReactiveCocoa
准确的说 MVC和MVVM是两种设计模式,而并非框架。

有基于MVC或者MVVM设计模式的框架
设计理念这个东西,看看这篇知乎文章吧
希望能帮到你。
ios中MVC
MVVM 实际上和上面也差不多,差别就是不通过Controller直接调用Model,而是通过一层ViewModel,间接管理模型;执行网络访问,数据格式化操作,比如从网络获取数据之后,将UNIX时间戳转换成自己需要的显示格式,再反馈给控制器;这样就简化了控制器的大量代码;同时视图层也可以根据代码复杂程度再生产一层中间视图管理层,进行视图的调度;
总结MVVM的特点就是:减少Controller中的代码,将和数据有关的一部分处理,分离出来,在ViewModel中进行处理,将和视图相关的复杂代码分离到视图管理层上;他所传达的思想就是,MVC这种结构并不局限于Model,View,Controller三个文件,开发过程中需要根据具体情况分离代码量;使代码结构更清晰。