IOS平台上的MVC设计模式

一、概念 

Model :是对应用的抽象。拿建一艘航母来说,那张图纸就是Model,对航线母的长、宽、高、可以承载多少架战斗机、鱼雷、有多少跑台等等。

Controller :应用如何将Model显示给用户(UI逻辑),是中心是桥梁,连通Model和View。 好比按下航母的发射鱼雷按钮是如何去发射鱼雷的,这都是Controller的事情。

View : 你所看到的用实物展现在你面前的Model,就拿航母来说是根根据图纸由钢铁构建而成,到应用程序上由按钮,表格,标签等组成。view一切听从Controller的指挥,并及时将重要事件报告给Controller。

二、通信

1、Model和View永远不能直接相互通信,只能通过Controller传递。

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

3、Controller可以直接与View对话(通过outlet,直接操作View,outlet直接对应到View中的控件),View通过 action向Controller报告事件的发生(如用户Touch我了)。Controller是View的直接数据源(数据很可能是 Controller从Model中取得的)。Controller是View的代理(delegate),以同步View与Controller,delegate是一组协议,表示程序将要或者已经处于某种状态时,来调整View,以对用户有个交代。例如系统内存不足了,你是不是相应的降低view的质量以节省内存。

注:突然冒出个delegate,让人不好理解,其实他不对应xcode为我们创建的XXAppDelegate文件,此文件不属于MVC中的任何一部分,虽然与MVC有联系。


参考:http://www.cnblogs.com/chu888chu888/archive/2011/09/01/2162248.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值