iOS MVC模式



什么是MVC


MVC是模型-视图-控制器(Model-View-Controller,MVC)软件设计模式。在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性。


这是一个已经写好的程序,我们将相同内容放在一个类别里面。


mvc1.png



MVC之间的联系与控制


模型对象


模型对象封装了应用程序的数据,并定义操控和处理该数据的逻辑和运算。


视图对象


视图对象是应用程序中用户可以看见的对象。视图对象知道如何将自己绘制出来,并可能对用户的操作作出响应。视图对象的主要目的,就是显示来自应用程序模型对象的数据,并使该数据可被编辑。


控制器对象


解释在视图对象中进行的用户操作,并将新的或更改过的数据传达给模型对象。模型对象更改时,一个控制器对象会将新的模型数据传达给视图对象,以便视图对象可以显示它。


联系如下:


对于不同的UIView,有相应的UIViewController,对应MVC中的C。


1.Model和View永远不能相互通信,只能通过Controller传递。(我们能够做到,但是请不要尝试如此做,这样会使得程序在变大之后的维护和修改变得非常困难。)


2.Controller可以直接与Model对话(读写调用Model),Model通过Notification和KVO机制与Controller间接通信。


3.Controller可以直接与View对话,通过outlet,直接操作View,outlet直接对应到View中的控件,View通过action向Controller报告事件的发生(如用户点击了一些按钮,那么Controller就会做出相对应的操作或者界面的改变,直接返回到View)。Controller是View的直接数据源(数据很可能是Controller从Model中取得并经过加工了)。Controller是View的代理(delegate),以同步View与Controller。


mvc2.png



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部