UIViewController的生命周期及执行顺序

当一个视图控制器被创建,并在屏幕上现实的时候。代码的执行顺序:

1.alloc       创建对象,分配空间。

2.init       初始化对象,初始化数据。

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

4.viewDidLoad   载入完成,可以进行自定义数据以及动态的创建其他空间。

5.viewWillAppear  视图将出现在屏幕之前。

6.viewDidAppear  视图在屏幕上渲染完成。

当一个视图被移除屏幕并且销毁的时候执行顺序:

1.viewWillDisappear  视图被移除之前。

2.viewDidDisappear   视图被移除之后。

3.dealloc        销毁视图。

对UIViewController中常用的方法解释及用途:

1.-(void)viewDidLoad

一个APP在载入时会先通过调用loadView方法或者载入IB中创建的初始界面的方法,将视图载入到内存中。然后会调用viewDidLoad方法来进行进一步的设置。通常,我们对于各种初始数据的载入,初始设定等很多内容,都会在这个方法中实现,所以这个方法是一个很常用,很重要的方法。

但是要注意,这个方法只会在app刚开始加载的时候调用一次,只能用来初始化设置。

2.-(void)viewWillAppear:(BOOL)animated

系统在载入数据之后会在屏幕上显示之前调用,对即将要显示的视图作进一步设置。例如,设备方向。

当app有多个视图时,在试图切换时,并不会重新载入viewDidLoad方法,所以对需要数据更新的话只能用这个方法。

3.-(void)viewDidAppear:(BOOL)animated

由于特殊原因,不能在viewWillAppear方法对视图进行更新,可以调用这个函数。

4.-(void)viewWillDisappear:(BOOL)animated

在视图转换时,当前视图被移除、覆盖时,调用此方法。

5.-(void)viewDidDisappear:(BOOL)animated

对已经消失、覆盖或者隐藏的视图,调用。

转自:http://blog.csdn.net/huifeidexin_1/article/details/7566226

时间: 2024-10-07 01:30:17

UIViewController的生命周期及执行顺序的相关文章

Unity脚本生命周期与执行顺序

文章目录 脚本生命周期 MonoBehavior生命周期图 脚本执行顺序 自定义执行顺序 在Unity中,脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码.必须绑定在游戏对象上才能开始它的生命周期.游戏对象可以理解为能容纳各种组件的容器,游戏对象的所有组件一起决定了这个对象的行为和游戏中的表现. 脚本生命周期 Unity脚本中的常见必然事件如下表所示 名称 触发时机 用途 Awake 脚本实例被创建时调用 用于游戏对象的初始化,注意Awake的执行早于所有脚本的Start函数 On

简单记录一下vue生命周期及 父组件和子组件生命周期钩子执行顺序

首先,vue生命周期可以用下图来简单理解 当然这也是官方文档的图片,详细的vue周期详解请参考这里 然而当同时存在父子组件的时候生命周期钩子是如何执行的呢? 请看下文: 加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted 子组件更新过程父beforeUpdate->子beforeUpdate->子up

Vue 的父组件和子组件生命周期钩子执行顺序

原文地址:https://www.cnblogs.com/anbozhu7/p/11278000.html

iOS程序执行顺序和UIViewController 的生命周期(整理)

说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 言叶之庭.jpeg 一. iOS程序的启动执行顺序 程序启动顺序图 iOS启动原理图.png 具体执行流程 程序入口进入main函数,设置AppDelegate称为函数的代理 程序完成加载[AppDelegate application:didFinishLaunchingWithOptions:] 创建window窗口 程序被激活[

iOS程序的执行顺序 和 UIViewController的生命周期

iOS程序的执行顺序 1 进入程序的入口 进入main函数, 设置AppDelegate称为函数的代理 2  程序完成加载 -[AppDelegate application:didFinishLaunchingWithOptions:] 3 创建window窗口 4 程序被激活 -[AppDelegate applicationDidBecomeActive:] 5 当点击command+H时  程序取消激活状态 -[AppDelegate applicationWillResignActiv

iOS程序执行顺序 AppDelegate及 UIViewController 的生命周期

iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 iOS应用程序的状态切换很重要,而UIViewControler对于iOS这种MVC模式来说尤为重要,基本都要继承自他. 一.iOS程序的启动执行顺序 1 程序的入口 进入main函数, 设置AppDelegate称为函数的代理 2  程序完成加载 -[AppDelegate application:didFinishLaunchingWithOptions:] 3 创建window窗口 4 程序

【iOS】UIViewController的生命周期

UIViewController中存在的2个循环: 在UIViewController中,View存在两个循环:加载循环和卸载循环. 加载循环 1>程序请求controller的view. 2>如果view在内存中,则直接加载.相反,如果不存在,则UIViewController调用loadView方法. 3>loadView方法执行如下操作: 如果你重载了这个方法,则必须创建必要的view并且将一个非nil值传给UIViewController的view属性. 如果你没有重载这个函数,

UIViewController的生命周期

iOS基础界面就是通过UIViewController展示的.首先区分content controller和container controller的区别.content controlller就是展示我们当前页面的controller,而container controller就是一个管理content controller的容器,基本就是UINavigationController和UITabbarController,本身它也是继承UIViewController,一个UIViewCont

UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc                                   创建对象,分配空间2.init (initWithNibName) 初始化对象,初始化数据3.loadView                          从nib载入视图 ,通常这一步不需要去干涉.除非你没有使用xib文件创建视图4.viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件5