对iOS开发中MVC模式的理解

2017-01-14 10:04:57来源:http://www.jianshu.com/p/4af2680adece作者:muhlenXi人点击

欢迎访问我的博客muhlenXi,该文章出自我的博客。


版权声明:本文为muhlenXi原创文章,转载请注明出处,未经允许不得转载.


前言:

MVC,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。


学习贵在记录和总结收获!点击阅读全文了解更多!  


<!-- more -->


正文:
MVC是什么?

MVC是一个基本机制,用于将程序中的所有对象拆分到三个阵营(三层)的一个阵营中。第一层是Model,第二层是View,第三层是Controller。


Model = 你的应用是什么?


Controller = 控制 Model 如何显示在屏幕上。


View = 你的控制器的元素,用于构成界面。


MVC是如何通信的?

Controller -> Model


Controller 对 Model有完全访问权限。


Model -> Controller


Model 通过 Notification & KVO的方式与Controller通信。


Controller -> View


Controller 对 View 也有完全的访问权限。如:Controller拥有一个outlet属性,该属性指向View中的对象。


View -> Controller



View 通过 action-target 的方式与Controller通信。如:button的点击


View 还通过 Delegate 的方式与Controller通信。


数据不能作为视图的内部属性。它是通过 data source delegate的方式与Controller通信的。也就是说,Controller从Model中获取数据然后传递给View。



Model <-> View


Model和View不能相互通信。是完全独立的。


通过下图,我们可以很好的理解他们之间的通信方式。



MVC通信方式
多个MVC的协作

MVC的堆叠可以构成一个复杂的应用 如图所示:



多个MVC的协作

感谢您的阅读,一起学习,一起成长,加油!




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台