iOS架构 - MVC/MVP/MVVM

来源:互联网 发布:网络舆论战 编辑:程序博客网 时间:2024/04/25 23:43

MVC

这里写图片描述
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有联系。

MVP

MVVM

1 0
原创粉丝点击