一.MVC模式(面试常问的)面试
M: Model(专门负责存储数据的类)设计模式
V: View (专门用来展现数据)架构
C: Controller (专门用来控制视图显示数据)app
iOS程序采用MVC设计模式为基础设计模式。即一个程序的构成,由模型,视图,控制器构成spa
模型(M):非UI部分,数据的储存与管理设计
视图(V):UI部分,用于显示界面,与用户交互,包括接收触发事件,显示数据内容orm
控制器(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