MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中.
Model-View-Controller, 把对象分成了三类, 是苹果推荐的设计框架.在iOS中:
1.Model: 数据模型, 用于存储数据, 比如Person.
2.View: 视图, 用于展示数据, 比如Button. Label.
3.Controller: 控制器, 作为Model和View协调者.
MVC的框架中, Model和View是不能相互通信的, Controller是可以访问Model和View; View可以通过一些手段(Target-Action, Delegte, DataSource)和Controller进行通信, Model可以通过一些方式(KVO, Notification)和Controller进行通信.
通信的过程:
1.数据发生变化, Model就去通知Controller, 让Controller去修改View展示的数据.
2.用户做了相关的操作, View就去告诉Controller, 让Controller去修改Model存的数据.