美文网首页
iOS-UIViewController 生命周期

iOS-UIViewController 生命周期

作者: 石显军 | 来源:发表于2019-03-21 11:37 被阅读0次
    // 非storyBoard 走这个 init
    - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        NSLog(@"%s", __func__);
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
        }
        return self;
    }
    
    // storyBoard 走这个 init
    - (instancetype)initWithCoder:(NSCoder *)coder
    {
        NSLog(@"%s", __func__);
        
        self = [super initWithCoder:coder];
        if (self) {
        }
        return self;
    }
    
    // xib 加载完成
    - (void)awakeFromNib
    {
        NSLog(@"%s", __func__);
        [super awakeFromNib];
    }
    
    // 加载视图
    - (void)loadView
    {
        NSLog(@"%s", __func__);
        [super loadView];
    }
    
    // controller自带视图加载完毕
    - (void)viewDidLoad
    {
        self.view.backgroundColor = UIColor.whiteColor;
        NSLog(@"%s", __func__);
    }
    
    // 视图将要出现
    - (void)viewWillAppear:(BOOL)animated
    {
        NSLog(@"%s", __func__);
        [super viewWillAppear:animated];
    }
    
    // 视图已经出现
    - (void)viewDidAppear:(BOOL)animated
    {
        NSLog(@"%s", __func__);
        [super viewDidAppear:animated];
    }
    
    // 视图将要消失
    - (void)viewWillDisappear:(BOOL)animated
    {
        NSLog(@"%s", __func__);
        [super viewWillDisappear:animated];
    }
    
    // 视图已经消失
    - (void)viewDidDisappear:(BOOL)animated
    {
        NSLog(@"%s", __func__);
        [super viewDidDisappear:animated];
    }
    
    // 即将布局子视图
    - (void)viewWillLayoutSubviews
    {
        NSLog(@"%s", __func__);
        [super viewWillLayoutSubviews];
    }
    
    // 子视图布局已经完成
    - (void)viewDidLayoutSubviews
    {
        NSLog(@"%s", __func__);
        [super viewDidLayoutSubviews];
    }
    
    // 析构 结束生命
    - (void)dealloc
    {
        NSLog(@"%s", __func__);
    }
    

    执行结果

     -[UIControllerDetaile initWithCoder:]
     -[UIControllerDetaile awakeFromNib]
     -[UIControllerDetaile loadView]
     -[UIControllerDetaile viewDidLoad]
     -[UIControllerDetaile viewWillAppear:]
     -[UIControllerDetaile viewWillLayoutSubviews]
     -[UIControllerDetaile viewDidLayoutSubviews]
     -[UIControllerDetaile viewDidAppear:]
     -[UIControllerDetaile viewWillDisappear:]
     -[UIControllerDetaile viewDidDisappear:]
     -[UIControllerDetaile dealloc]
    

    相关文章

      网友评论

          本文标题:iOS-UIViewController 生命周期

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