代码:
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"View Did Load"); } - (void)viewDidAppear:(BOOL)animated { NSLog(@"View Did Appear"); } - (void)viewDidDisappear:(BOOL)animated { NSLog(@"View Did Disappear"); }
运行时控制台输出:
2014-02-16 22:14:03.631 ViewDidAppear[4306:70b] View Did Load 2014-02-16 22:14:03.683 ViewDidAppear[4306:70b] View Did Appear 2014-02-16 22:14:04.793 ViewDidAppear[4306:70b] View Did Disappear 2014-02-16 22:14:05.829 ViewDidAppear[4306:70b] View Did Appear 2014-02-16 22:14:11.247 ViewDidAppear[4306:70b] View Did Disappear 2014-02-16 22:14:12.692 ViewDidAppear[4306:70b] View Did Appear
可见ViewDidLoad方法只执行一次,而ViewDidAppear和ViewDidDisappear方法每次都会随着视图的出现和消失而执行,另外ViewDidLoad方法执行先于ViewDidAppear方法。
对于一些需要每次加载视图都要执行的动作,应该放在ViewDidAppear方法中,而不是ViewDidLoad方法中。