一、为何需要调用“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]; }