进入ViewController
的头文件,查看这个提供的方法,以下列出一些有关iOS视图生命周期的几个方法:
- (void)viewDidLoad
- (void)viewWillAppear:(BOOL)animated
- (void)viewDidAppear:(BOOL)animated
- (void)viewWillDisappear:(BOOL)animated
-(void)viewDidDisappear:(BOOL)animated
那么这些方法什么时候执行?执行的顺序又是什么呢?
先给出一段代码,然后解释:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad");
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear");
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"viewDidAppear");
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSLog(@"viewWillDisappear");
}
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
NSLog(@"viewDidDisappear");
}
当我们首次打开应用,进入该代码所在的视图时,执行的方法是:
viewDidLoad
、viewWillAppear
、viewDidAppear
当我们跳转到另一个页面时,执行的方法是:
viewWillDisappear
、viewDidDisappear
当我们再次从另一个页面跳转到代码所在的页面时,执行的方法好是:
viewWillAppear
、viewDidAppear
当然,viewDidLoad
方法在页面出现的时候是否执行取决于此时内存中的视图是否还存在。