viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序

本文详细介绍了iOS应用中视图控制器的生命周期方法及其调用顺序。从视图加载到显示,再到视图消失的过程,涵盖了包括viewWillAppear、viewDidAppear等关键方法的作用及应用场景。

1.viewWillAppear: 

Calledwhen the view is about to made visible. Default does nothing视图即将可见时调用。默认情况下不执行任何操作

2.viewDidAppear: 

Calledwhen the view has been fully transitioned onto the screen. Default does nothing

视图已完全过渡到屏幕上时调用

3.viewWillDisappear:

Calledwhen the view is dismissed, covered or otherwise hidden. Default does nothing

视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作

4.viewDidDisappear:

Calledafter the view was dismissed, covered or otherwise hidden. Default does nothing

视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作

5.-(void)loadView; 

Thisis where subclasses should create their custom view hierarchy if they aren'tusing a nib. Should never be called directly.

这是当他们没有正在使用nib视图页面,子类将会创建自己的自定义视图层。绝不能直接调用。

6.viewDidLoad;

Calledafter the view has been loaded. For view controllers created in code, this isafter -loadView. For view controllers unarchived from a nib, this is after theview is set.

在视图加载后被调用,如果是在代码中创建的视图加载器,他将会在loadView方法后被调用,如果是从nib视图页面输出,他将会在视图设置好后后被调用。

 

7.initWithNibName:bundle:

载入nib档案来初始化「loadView」载入视图「viewDidLoad」在载入视图至内存后会呼叫的方法「viewDidUnload」在视图从内存中释放后会呼叫的方法 (当内存过低,释放一些不需要的视图时调用)

8.viewWillAppear

当收到视图在视窗将可见时的通知会呼叫的方法

9.viewDidAppear

当收到视图在视窗已可见时的通知会呼叫的方法

 

10.viewWillDisappear

当收到视图将去除、被覆盖或隐藏于视窗时的通知会呼叫的方法

11.viewDidDisappear

当收到视图已去除、被覆盖或隐藏于视窗时的通知会呼叫的方法

12.didReceiveMemoryWarning

收到系统传来的内存警告通知后会执行的方法

13.shouldAutorotateToInterfaceOrientation

是否支持不同方向的旋转视图

14.willAnimateRotationToInterfaceOrientation

在进行旋转视图前的会执行的方法(用于调整旋转视图之用)

 

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

1、       alloc                                  

创建对象,分配空间

2init(initWithNibName)

初始化对象,初始化数据

3loadView                          

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

4viewDidLoad                  

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

5viewWillAppear             

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

6viewDidAppear              

视图已在屏幕上渲染完成

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

1、       viewWillDisappear            

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

2、       viewDidDisappear            

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

3、       dealloc                                

视图被销毁,此处需要对你在initviewDidLoad中创建的对象进行释放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值