UIViewController 生命周期
UIViewController 生命周期
init UIViewController 对象被创建,并进行一些基本的初始化操作。开发者可以在这个阶段对 UIViewController 进行一些基本的设置和初始化,但是应该避免访问界面相关的属性和方法,因为这些属性和方法尚未被加载。
loadView UIViewController 的 view 被创建。开发者可以通过重写 loadView 方法来自定义 view 的创建过程。如果没有重写 loadView 方法,则默认会创建一个空的 UIView 对象,并将其作为 view 属性赋值给 UIViewController。
viewDidLoad UIViewController 的 view 已经被创建,但还没有被添加到视图层次结构中。开发者可以在这个阶段进行一些初始化工作,如设置界面元素的属性等。在这个阶段,view 的大小已经被确定,但是子视图还没有被创建。
viewWillAppear UIViewController 的 view 即将被添加到视图层次结构中。在这个阶段,开发者可以对将要显示的界面进行最后的准备工作,如设置界面元素的位置和动画等。
viewDidAppear UIViewController 的 view 已经完全显示在屏幕上。在这个阶段,开发者可以执行一些界面相关的操作,如加载网络数据或者启动定时器等。
viewWillDisappear 和 viewDidDisappear UIViewController 的 view 即将被移除或已经被移除。在这个阶段,开发者可以执行一些资源释放的操作,如取消网络请求或停止定时器等。
总结
UIViewController 是 iOS 开发中非常重要的组件之一,,它的生命周期涉及到界面的创建、显示和销毁等过程。掌握 UIViewController 的生命周期对于正确地处理界面的显示和隐藏、资源的获取和释放等问题至关重要。
在 init 阶段,UIViewController 对象被创建并进行一些基本的初始化操作;在 loadView 阶段,UIViewController 的 view 被创建;在 viewDidLoad 阶段,UIViewController 的 view 已经被创建,但还没有被添加到视图层次结构中;在 viewWillAppear 阶段,UIViewController 的 view 即将被添加到视图层次结构中;在 viewDidAppear 阶段,UIViewController 的 view 已经完全显示在屏幕上;在 viewWillDisappear 和 viewDidDisappear 阶段,UIViewController 的 view 即将被移除或已经被移除。
在开发中可以根据不同的生命周期阶段,进行不同的操作。例如,在 viewDidLoad 阶段可以进行一些初始化操作,如设置界面元素的属性;在 viewWillAppear 阶段可以对将要显示的界面进行最后的准备工作,如设置界面元素的位置和动画等;在 viewDidAppear 阶段可以执行一些界面相关的操作,如加载网络数据或者启动定时器等;在 viewWillDisappear 和 viewDidDisappear 阶段可以执行一些资源释放的操作,如取消网络请求或停止定时器等。