美文网首页iOS学习笔记
[入坑iOS系列]MVC这点事

[入坑iOS系列]MVC这点事

作者: 侯鉴洋 | 来源:发表于2016-03-23 13:45 被阅读150次

    啥是mvc呢

    MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制).
    Model = 你的程序是什么
    Controller = 如何将你的model展现给用户
    View = 在屏幕上你能看到啥

    MVC之间咋交流呢

    先整张图吧


    mvc.png

    (图片来源于斯坦福ios8公开课白胡子老头)

    1首先,Model和View永远不能相互通信,只能通过Controller传递。
    2Controller可以直接与Model对话(读写调用Model,Model通过Notification和KVO机制与Controller间接通信)。
    3Controller可以直接与View对话(通过outlet,直接操作View,outlet直接对应到View中的控件),View通过 action向Controller报告事件的发生。Controller是View的直接数据源(数据很可能是 Controller从Model中取得的)。Controller是View的代理(delegate),以同步View与Controller,delegate是一组协议,表示程序将要或者已经处于某种状态时,来调整View,以对用户有个交代。

    完事了

    Controller to Model:API
    Controller to View:Outlet
    View to Controller:Target-action, Delegate,Datasource
    Model to Controller:Notification,KVO

    相关文章

      网友评论

        本文标题:[入坑iOS系列]MVC这点事

        本文链接:https://www.haomeiwen.com/subject/fqvllttx.html