MVC是一种设计模式,它把应用程序拆分为模型对象,视图对象,控制器对象三大部分.
一.模型对象:模型对象封装了应用程序的数据,模型对象更改时,会通知控制器对象,控制器对象更新相应的视图对象.
二:视图对象:视图对象应用程序中用户所看得到的,其主要目的是显示应用程序中模型对象的数据,在应用程序中,所有的控件和窗口都继承UIView,UIView及其子类的目的是实现UI的显示,并把视图对象上的操作传递给控制器对象.
三:控制器对象:在应用程序中,控制器对象充当模型对象和视图对象之间的媒介.控制器对象处理视图对象进行的用户操作,并将新的或更改的数据传达给数据模型,模型对象更改时,控制器对象将新的模型数据传给视图对象,以便视图对象可以显示它.
MVC大大降低了工程的耦合性,提高了应用程序的可维护性,可扩展性,可复用性.
M与V不能通信,主要通过C来控制它们;
M与C的通信方式是notification和KVO;
V与C的通信方式是target-action和delegate.