我们可以将视图分为4个基本状态:视图创建、视图可见、视图不可见、系统低内存。
1.其中当视图正在创建时,会调用viewDidLoad方法,这个时候视图并未出现,而是将视图控制器初始化后刚加载到内存中,这个方法也常用来初始化视图控制器所用,如初始化视图中常用的控件等。
2.在视图可见前和可见后分别会调用viewVillAppear和viewDidAppear方法。
3.在视图不可见前和不可见后分别会调用viewVillDisappear和viewDidAppear方法。
4.在应用程序系统内存低的情况下,会调用didReceiveMemoryWarning和viewDidUnload方法。注意:在ios6之后,就不再适用viewDidUnload方法了。而仅仅支持didReceiveMemoryWarning方法,它的主要任务是释放内存,包括成员变量的释放和视图的释放。
上述七个方法中,除了viewDidLoad方法只能调用一次外,其他方法都可以被多次调用。
实际开发当中会根据每个不同的生命周期节点来执行你自己相应的任务。
/// 视图即将加载 (二)
- (void)viewWillAppear:(BOOL)animated
{}
///视图加载完成 (三)
- (void)viewDidAppear:(BOOL)animated
{}
/// 视图已经移除 (四)
- (void)viewDidDisappear:(BOOL)animated
{}
/// 视图即将移除 (五)
- (void)viewWillDisappear:(BOOL)animated
{}
/// 视图载入完成 (一)
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
算法初步——哈希表B10133.旧键盘打字 (注意bool型数组的赋值为true的方法)
算法初步——哈希表B1029/A1084. 旧键盘
算法初步——排序 A1012.The Best Rank(25)
《思维导图》——东尼博赞
算法初步——排序B1015/A1062.德才论
入门模拟——(字符串处理)A1001. A+B Format(20)
RMQ问题(线段树+ST算法)
PKU 2406 Power Strings(KMP最长循环不重叠字串)
KMP算法 kuangbin