M(数据管理者)、V(数据加工者)、C(数据展示者)
M应该做的事:
1、给ViewController提供数据;
2、给ViewController存储数据提供接口;
3、提供经过抽象的业务基本组件,供Controller调度。
C应该做的事:
1、管理View Container的生命周期;
· 2、负责生成所有的View实例,并放入View Container;
3、监听来自View与业务有关的事件,通过与Model的合作,来完成对应事件的业务。
V应该做的时:
1、响应与业务无关的事件,并因此引发动画效果,点击反馈等;
2、界面元素表达。
通过阅读这篇博文,也解决了我对ViewController中View的作用的困惑:UIViewController中自带了一个View,且可以控制VIew的整个生命周期(viewDidLoad,viewWillAppear...),如果按照MVC的划分,Controller不应该与VIew有如此紧密的关系!
UIViewController中的UIView不光可以展示UI,还可以作为容器的一个对象!UIView的另一个身份是容器,UIViewController中自带的那个View,它的主要任务就是作为一个容器,即ViewContainer。