什么是 UIViewController 生命周期?

简介: 什么是 UIViewController 生命周期?

在iOS开发中,UIViewController是一个关键的控制器类,用于管理应用程序界面的一部分或整体。UIViewController有其特定的生命周期方法,这些方法在不同的时刻被调用,以便你可以在应用程序运行期间执行各种操作。以下是UIViewController的生命周期方法:

  1. init(nibName:bundle:)init(coder:) 初始化方法,分别用于从Nib文件和从归档数据创建视图控制器的实例。

  2. loadView 当视图控制器的view属性首次访问时,会调用loadView方法。在这个方法中,你可以手动创建或加载视图层次结构,并将其分配给view属性。

  3. viewDidLoad 在视图控制器的视图加载到内存后调用,但是在显示之前。这是执行一次性设置的好地方,如数据加载、UI元素初始化等。

  4. viewWillAppear(_:) 当视图将要显示在屏幕上时调用。在这里,你可以执行将在每次视图显示时都需要执行的操作,如启动定时器、刷新数据等。

  5. viewDidAppear(_:) 当视图已经显示在屏幕上时调用。在这里,你可以执行那些只能在视图可见时进行的操作,如启动动画、请求用户权限等。

  6. viewWillDisappear(_:) 当视图将要从屏幕上移除时调用。在这里,你可以执行一些清理工作,如停止定时器、保存数据等。

  7. viewDidDisappear(_:) 当视图已经从屏幕上移除时调用。在这里,你可以执行那些只能在视图不可见时进行的操作,如取消网络请求、释放资源等。

  8. viewWillLayoutSubviews 在视图控制器的视图即将布局子视图时调用。在这里,你可以调整子视图的布局,确保它们在显示时具有正确的尺寸和位置。

  9. viewDidLayoutSubviews 在视图控制器的视图已经布局子视图后调用。在这里,你可以执行那些需要在子视图布局完成后进行的操作。

  10. dealloc(Swift中是deinit): 当视图控制器被销毁时调用。在这里,你可以执行一些最后的清理工作,如取消通知、释放资源等。

这些生命周期方法提供了在不同阶段执行代码的机会,使开发者能够更好地管理视图控制器的行为和状态。理解和正确使用这些生命周期方法对于构建稳健的iOS应用程序至关重要。

相关文章
|
6月前
|
iOS开发 容器
什么是 UINavigationController 和 UITabBarController?它们有什么作用?
什么是 UINavigationController 和 UITabBarController?它们有什么作用?
43 2
通过UIView对象获取该对象所属的UIViewController
通过UIView对象获取该对象所属的UIViewController
90 0
|
iOS开发
iOS - UIViewController生命周期(storyboard/Xib/纯代码)(上)
iOS - UIViewController生命周期(storyboard/Xib/纯代码)
|
iOS开发
iOS - UIViewController生命周期(storyboard/Xib/纯代码)(下)
iOS - UIViewController生命周期(storyboard/Xib/纯代码)
|
iOS开发
iOS对UIViewController生命周期和属性方法的解析(二)
iOS对UIViewController生命周期和属性方法的解析
213 0
iOS对UIViewController生命周期和属性方法的解析(二)
|
设计模式 前端开发 iOS开发
iOS对UIViewController生命周期和属性方法的解析(一)
iOS对UIViewController生命周期和属性方法的解析
233 0
iOS对UIViewController生命周期和属性方法的解析(一)
一个重要的类 CALayer
一个重要的类CALayer —— 基本概览(一)一个重要的类CALayer —— 其与UIView的区别(二)一个重要的类CALayer ——主要属性及其在显示图片中的简单应用(三)
773 0
|
iOS开发
iOS开发之UIView与UIViewController的生命周期总结
iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。
1267 0
UIViewController生命周期
原文出自:http://blog.csdn.net/duanyipeng/article/details/7106015 原文发布时间为:2012-08-15 本文作者:vinoYang 本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。
885 0