在UIKit中,UIViewController类事所有视图控制器的基类。通过查看其定义可知,UIViewController类继承自UIResponder类,因此视图控制器也是响应对象。在响应对象链表中,视图控制器位于它关联的视图之上,因此当该视图无法处理某个时间时,事件会沿着响应对象链表传送给它的视图控制器。
当一个视图控制器被创建,并且在屏幕上显示,具体的代码流程就是alloc(创建对象) -> initWithNibName (初始化对象)-> loadView (从nib载入视图)-> viewDidLoad ()-> viewWillAppear -> viewDidAppear -> viewWillDisappear -> viewDidDisappear -> dealloc
**
* view加载完毕
*/
- (void)viewDidLoad
{
[super viewDidLoad];
}
/**
* view即将显示到window上
*
*/
- (void)viewWillAppear:(BOOL)animated //参数animated表示视图是否以动画方式进行变化
{
[super viewWillAppear:animated];
}
/**
* view显示完毕(已经显示到窗口)
*/
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSLog(@"MJOneViewController-viewDidAppear");
}
/**
* view即将从window上移除(即将看不见)
*
*/
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
NSLog(@"MJOneViewController-viewWillDisappear");
}
/**
* view从window上完全移除(完全看不见)
*
*/
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
NSLog(@"MJOneViewController-viewDidDisappear");
}
/**
* view即将销毁的时候调用
*/
- (void)viewWillUnload
{
[super viewWillUnload];
}
/**
* view销毁完毕的时候调用
*/
- (void)viewDidUnload
{
[super viewDidUnload];
// 由于控制器的view已经不在了,需要显示在view上面的一些数据也不需要
self.apps = nil;
self.persons = nil;
//
// [self.apps release];
// [self.persons release];
}
/**
* 当接收到内存警告的时候调用
*/
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}