**视图的生命周期**
// 视图加载完成
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@ ---> %s", self.class, __func__);
}
// 视图将要显示
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"%@ ---> %s", self.class, __func__);
}
// 视图已经显示
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"%@ ---> %s", self.class, __func__);
}
// 视图即将消失
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSLog(@"%@ ---> %s", self.class, __func__);
}
// 视图已经消失
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
NSLog(@"%@ ---> %s", self.class, __func__);
}
**导航控制器的生命周期**
第一次显示
OneViewController ---> -[MainViewController viewDidLoad]
OneViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewDidAppear:]
跳转到twoVc
OneViewController ---> -[MainViewController viewWillDisappear:]
TwoViewController ---> -[MainViewController viewDidLoad]
TwoViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewDidDisappear:]
TwoViewController ---> -[MainViewController viewDidAppear:]
直接返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidDisappear:]
OneViewController ---> -[MainViewController viewDidAppear:]
拖拽返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidDisappear:]
OneViewController ---> -[MainViewController viewDidAppear:]
拖拽不返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewDidDisappear:]
TwoViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidAppear:]
***TabBar控制器的生命周期
第一次显示
OneViewController ---> -[MainViewController viewDidLoad]
OneViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewDidAppear:]
跳转到twoVc
OneViewController ---> -[MainViewController viewWillDisappear:]
TwoViewController ---> -[MainViewController viewDidLoad]
TwoViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewDidDisappear:]
TwoViewController ---> -[MainViewController viewDidAppear:]
直接返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidDisappear:]
OneViewController ---> -[MainViewController viewDidAppear:]
拖拽返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidDisappear:]
OneViewController ---> -[MainViewController viewDidAppear:]
拖拽不返回
TwoViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewWillAppear:]
OneViewController ---> -[MainViewController viewWillDisappear:]
OneViewController ---> -[MainViewController viewDidDisappear:]
TwoViewController ---> -[MainViewController viewWillAppear:]
TwoViewController ---> -[MainViewController viewDidAppear:]
**视图的生命周期**
// 可以再UIView中,合适的方法中调用比如说定时器之类的东西
// 将要移动到父视图
- (void)willMoveToSuperview:(UIView *)newSuperview {
NSLog(@"%@", newSuperview);
NSLog(@"%@ --> %s", self.class, __func__);
}
// 已经移动到父视图
- (void)didMoveToSuperview {
[super didMoveToSuperview];
NSLog(@"%@ --> %s", self.class, __func__);
}
// 将要移动到窗口
- (void)willMoveToWindow:(UIWindow *)newWindow {
[super willMoveToWindow:newWindow];
NSLog(@"%@ --> %s", self.class, __func__);
}
// 已经移动到窗口
- (void)didMoveToWindow {
[super didMoveToWindow];
NSLog(@"%@ --> %s", self.class, __func__);
}
网友评论