谁能谈谈MVC MVVM在iOS里面的应用
黄舟
黄舟 2017-04-17 17:45:58
[iOS讨论组]

自从面试了之后,被问到这个问题,基本上答得很模糊. 到底怎么样才算比较好的理解这两个框架?如何真正使用好呢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
怪我咯

安利一下: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三个文件,开发过程中需要根据具体情况分离代码量;使代码结构更清晰。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号