啥是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
网友评论