一、为何需要调用“super viewDidLoad”
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
在上面的代码中,什么需要调用父类相应的方法呢?
以viewDidLoad为例,父类(super)中的viewDidLoad会帮助你做一些初始化的工作,比如A是父类,B继承A,B在viewDidLoad方法中创建和初始化了一些成员;C又继承B,此时,如果C在调用viewDidLoad的时候没有调用super的viewDidLoad方法,那么就会有一些成员没有被初始化,可能就会产生问题。
二、[super viewDidLoad]和[super viewDidUnload]的调用时机:
(1)在iPhone/iPad编程中,viewDidLoad方法用于在试图控制器中加载视图时的初始化处理
在《iPhone4与iPad开发基础教程》中出现过两种写法
第一种写法:
- (void)viewDidLoad {
[super viewDidLoad];
// 其他代码
}
第二种写法:
- (void)viewDidLoad {
// 其他代码
[super viewDidLoad];
}
不过,我觉得第一种写法更可取,先调用父类的加载代码,再进行自身的加载。
(2)viewDidUnload方法用于在卸载视图时的释放资源处理,比如释放输出口、释放内存等
- (void)viewDidUnload {
// 释放代码,比如:self.xxx = nil;
[super viewDidUnload];
}
时间: 2024-10-27 19:25:39