理解iOS中的MVC设计模式   

Model: 代表你的

应用

程序是什么(不是怎么展现)




Controller

: 控制你的Model怎么展现给用户(UI逻辑)




View: Controller的奴隶。。。




Model,Controller,View相互通讯的规则:


  1. Controller可以直接和Model通信
  2. Controller也可以直接和View通信
  3. Model和View永远不能直接通信
  4. iOS中View和Controller的通信是透明和固定的,主要通过outlet和action实现
  5. View使用Delegate接口和Controller同步信息
  6. View不直接和数据通信,使用dataSource接口从Controller处获取数据
  7. View的delegate和dataSource一般就是Controller
  8. Controller负责为View翻译和格式化Model的数据
  9. Model使用Notification & KVO的方式分发数据更新信息,Controller可以有选择的监听自己感兴趣的信息。
  10. View也可以监听广播信息,但一般不是Model发出的信息
  11. 一个完整的App就是很多MVC的集合