iOS

iOS UIViewController的完整生命周期

发布于 2020-01-12 22:12:50
关注者
0
被浏览
1027
2 个回答
  • 一个iOS圈子的维护者
    iOS内推,加入圈子:761407670,有大厂潜水大佬也有"

    UIViewController的完整生命周期

    -[ViewControllerinitWithNibName:bundle:];

    -[ViewControllerinit];

    -[ViewControllerloadView];

    -[ViewControllerviewDidLoad];

    -[ViewControllerviewWillDisappear:];

    -[ViewControllerviewWillAppear:];

    -[ViewControllerviewDidAppear:];

    -[ViewControllerviewDidDisappear:];

    1、 alloc 创建对象,分配空间

    2、init(initWithNibName) 初始化对象,初始化数据

    3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

    4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件

    5、viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

    6、viewDidAppear 视图已在屏幕上渲染完成

    当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

    1、viewWillDisappear 视图将被从屏幕上移除之前执行

    2、viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了

    3、dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

    ViewController 的 loadView,、viewDidLoad,、viewDidUnload 分别是在什么时候调用的?

    viewDidLoad在view从nib文件初始化时调用,loadView在controller的view为nil时调用。

    此方法在编程实现view时调用,view控制器默认会注册memory warning notification,当view controller的任何view没有用的时候,viewDidUnload会被调用,在这里实现将retain的view release,如果是retain的IBOutlet view属性则不要在这里release,IBOutlet会负责release。

     

  • 面试哥
    面试哥 2020-01-12
    为面试而生,有面试问题,就找面试哥。

    UIViewController的完整生命周期

    -[ViewControllerinitWithNibName:bundle:];

    -[ViewControllerinit];

    -[ViewControllerloadView];

    -[ViewControllerviewDidLoad];

    -[ViewControllerviewWillDisappear:];

    -[ViewControllerviewWillAppear:];

    -[ViewControllerviewDidAppear:];

    -[ViewControllerviewDidDisappear:];

    1、 alloc 创建对象,分配空间

    2、init(initWithNibName) 初始化对象,初始化数据

    3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

    4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件

    5、viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

    6、viewDidAppear 视图已在屏幕上渲染完成

    当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

    1、viewWillDisappear 视图将被从屏幕上移除之前执行

    2、viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了

    3、dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

    ViewController 的 loadView,、viewDidLoad,、viewDidUnload 分别是在什么时候调用的?

    viewDidLoad在view从nib文件初始化时调用,loadView在controller的view为nil时调用。

    此方法在编程实现view时调用,view控制器默认会注册memory warning notification,当view controller的任何view没有用的时候,viewDidUnload会被调用,在这里实现将retain的view release,如果是retain的IBOutlet view属性则不要在这里release,IBOutlet会负责release。

     

     

     

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看