iOS应用程序都遵循Model-View-Controller的架构,
1、Model负责存储数据和处理业务逻辑。
2、View负责显示数据和与用户交互。
3、Controller是两者的中介,协调Model和View相互协作。
它们的通讯规则如下:
- Controller能够访问Model和View,Model和View不能互相访问。
- 当View与用户交互产生事件时,使用target-action方式来处理。
- 当View需要处理一些特殊UI逻辑或获取数据源时,通过delegate或data source方式交给Controller来处理。
- Model不能直接与Controller通信,当Model有数据更新时,可以通过Notification或KVO (Key Value Observing)来通知Controller更新View。