美文网首页
[iOS功能]- 生命周期

[iOS功能]- 生命周期

作者: Matsonga | 来源:发表于2020-08-10 09:18 被阅读0次
**视图的生命周期**
// 视图加载完成
- (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__);
}

相关文章

网友评论

      本文标题:[iOS功能]- 生命周期

      本文链接:https://www.haomeiwen.com/subject/xlyddktx.html