代码简单说明:
@interface KJOneViewController ()
@property (nonatomic, strong) NSArray *foods;
@end
@implementation KJOneViewController
// 当控制器的view加载完毕就调用
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"1控制器的view加载完毕");
}
// 控制器的view即将显示的时候调用
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
NSLog(@"1控制器的view即将显示");
}
// 控制器的view完全显示的时候调用
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSLog(@"1控制器的view完全显示");
}
// 控制器的view即将消失的时候调用
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
NSLog(@"1控制器的view即将消失");
}
// 控制器的view完全消失的时候调用
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
NSLog(@"1控制器的view完全消失");
}
// 控制器的view即将销毁的时候调用
- (void)viewWillUnload
{
[super viewWillUnload];
}
// 控制器的view完全销毁的时候调用
- (void)viewDidUnload
{
[super viewDidUnload];
// 清空不需要的属性
// [self.foods release];
self.foods = nil;
}
//- (void)setFoods:(NSArray *)foods
//{
// if (_foods != foods) {
// [foods release];
// _foods = [foods retain];
// }
//}
// 接收到内存警告的时候调用
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
/**/
@end
控制器的生命周期其实是一个循环
loadView->viewDidLoad->viewWillAppear->viewDidAppear->viewWillDisappear->viewDidDisaooear->didReceiveMemoryWarning->viewWilUnload->(是否销毁view,yes)->viewDidUnload内存警告的处理示意图: