对iOS开发中MVC模式的理解

作者: 卖码维生 | 来源:发表于2016-11-04 17:48 被阅读132次

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

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

前言:

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

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

正文:

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的协作

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

相关文章

网友评论

  • 梁森的简书:我的Model主要用来存放模型数据, 刚开始的时候几乎对每个接口中的数据进行相应的建模,后来建模渐渐地用的少了,因为发现对于数据量少的数据也进行建模很影响开发速度。 Model该如何正常使用?
  • 酒茶白开水:挺好的

本文标题:对iOS开发中MVC模式的理解

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