一.MVC模式(面试常问的)
M: Model(专门负责存储数据的类)
V: View (专门用来展示数据)
C: Controller (专门用来控制视图显示数据)
iOS程序采用MVC设计模式为基础设计模式。即一个程序的构成,由模型,视图,控制器构成
模型(M):非UI部分,数据的储存与管理
视图(V):UI部分,用于显示界面,与用户交互,包括接收触发事件,显示数据内容
控制器(C):本身不显示,用于管理和模型;将视图部分和模型部分链接起来。原则上视图不能直接访问数据。
【注】使用MVC架构,视图不直接访问数据,以便于修改,降低开发和维护成本。
二.视图控制器
//应用程序中每一个界面都是一个视图控制器,视图控制器本身不可见,能在每个界面上看到的内容,全部都是直接或者间接添加到视图控制器的view属性上的.
UIViewController 看不见的,但是每个Controller都一个View属性
1.生命周期
这里所谓的生命周期,指视图从加载到销毁所调用的方法及其调用顺序
//加载视图
//在这个方法中一般去自定义一个view,但是一般情况这个方法一般不会使用
//第一次创建的时候会调用
- (void)loadView
//视图加载完成
//在这儿添加各种子视图
//第一次创建的时候会调用
- (void)viewDidLoad
//视图即将出现在屏幕上
//每次视图控制器的view将要出现的时候都会调用
- (void)viewWillAppear:(BOOL)animated
//视图已经出现在屏幕上
//每次视图控制器的view已经出现的时候都会调用
- (void)viewDidAppear:(BOOL)animated
//视图即将消失
//传值和保存数据
//每次视图将要消失的时候都会调用
- (void)viewWillDisappear:(BOOL)animated
//视图已经消失
//每次视图已经消失的时候都会调用
- (void)viewDidDisappear:(BOOL)animated
//收到内存警告
//内存警告可以通过模拟器来模拟;
- (void)didReceiveMemoryWarning