iSO控制器的生命周期

原创 2016年05月31日 11:19:27

一个App有他的生命周期,同样App中的每个控制器也有他的生命周期,所谓控制器的生命周期,就是几个函数的调用顺序。这里,我们以storyboard创建控制器为例,说明说明一下控制器的生命周期。

initWithCoder

- (id)initWithCoder:(NSCoder *)aDecoder{
    if (self = [super initWithCoder:aDecoder]) {
        NSLog(@initWithCoder Called);
    }
    return self;
}

viewDidLoad

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@viewDidLoad Called);
    // Do any additional setup after loading the view, typically from a nib.    
}

viewWillAppear

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    NSLog(@viewWillAppear Called);
}

viewDidAppear

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    NSLog(@viewDidAppear Called);
}

awakeFromNib

-(void)awakeFromNib{
    NSLog(@awakeFromNib Called);
}

viewWillLayoutSubviews

-(void)viewWillLayoutSubviews{
    NSLog(@viewWillLayoutSubviews Called);
}

viewDidLayoutSubviews

-(void)viewDidLayoutSubviews{
    NSLog(@viewDidLayoutSubviews Called);
}

然后在模拟器上运行,运行结果如下:

initWithCoder Called
awakeFromNib Called
viewDidLoad Called
viewWillAppear Called
viewWillLayoutSubviews Called
viewDidLayoutSubviews Called
viewDidAppear Called

所以,调用顺序为

  1. init函数(init;initWithFrame;initWithCoder;等)--初始化

  2. awakeFromNib--在loadView之前的工作放在这里

  3. viewDidLoad--注意,一个ViewController一个生命周期内这个函数只会调用一次

  4. viewWillAppear -- view将要出现,每次View消失再出现都会调用

  5. viewWillLayoutSubviews--将要对子视图进行布局

  6. viewDidLayoutSubivews--完成对子视图布局

  7. viewDidAppear--视图将要出现在屏幕上

  8. viewWillDisappear--View将要消失

  9. viewDidDisappear--View已经消失

这九个就是通常的视图控制器生命周期内函数调用顺序,一定要清楚什么样的代码应该放在视图控制器生命周期的什么位置

相关文章推荐

iso学习笔记(2)ios生命周期

转载请注明出处 :http://write.blog.csdn.net/postedit/7719014   这里结合在网上找到的几篇关于介绍iso生命周期的文章这里做下总结,不多说直接进主...
  • wudiwo
  • wudiwo
  • 2012年07月05日 17:34
  • 1136

iOS开发那些事--iOS视图生命周期与视图控制器关系

iOS中视图是一个应用的重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻。 视图生命周期与视图控制器关系 以视图的5种状态为基础,我们来系统的了解一下视图...

控制器的生命周期

http://www.cnblogs.com/coco-bao9107/p/4246601.html 控制器的生命周期就是一些列的方法控制很多关于视图控制器如何随时间变化的操作;当事件发生时...

UIViewController介绍:2-控制器的生命周期

1、控制器生命周期简介 所谓控制器的生命周期,通俗来讲,就是控制器的创建、视图的加载与显示,以及控制器的销毁等操作。 2、控制器生命周期的常用方法 在UIViewController类中,定义了...
  • cin_ie
  • cin_ie
  • 2016年07月17日 23:14
  • 224

iOS之浅谈视图控制器的生命周期

这段时间研究了一下视图控制器的生命周期,在网上找了很多的资料,顺着大家的详细描述和说明,我也做了相应的实验去验证,其中包括一些扩展的内容研究。所以想写一篇文章来记录下研究的心得,但是还是感觉没有理解很...

试图控制器。生命周期UIViewController

#import "AppDelegate.h" #import "RootViewController.h" @implementation AppDelegate - (voi...

iOS7应用开发5、视图控制器View Controller及其生命周期

1、UITextView: 该类与Label类类似,可显示多行,可以编辑内容,可以滚动查看内容; 包含属性NSTextStorage *textStorage,该类是NSMutableAttribut...

控制器生命周期

启动应用程序   第一个控制器 2016-05-03 16:59:53.239 04.导航控制器(Storyboard)[14432:2607647] one view加载完成 2016-05-0...

控制器(viewController)生命周期

viewController生命周期

iOS学习笔记之视图控制器的生命周期、多线程、网络连接等

简介视图控制器的生命周期、多线程、网络连接
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iSO控制器的生命周期
举报原因:
原因补充:

(最多只允许输入30个字)