[ios]ViewController生命周期

日期10-23  segue.destinationViewController 执行的方法在什么时间段呢?

2012-10-23 21:59:28.965 swearWorldDemo[1066:c07] viewDidLoad

2012-10-23 21:59:28.970 swearWorldDemo[1066:c07] setSwearDy

2012-10-23 21:59:28.970 swearWorldDemo[1066:c07] viewWillAppear

 

 

  [segue.destinationViewController setCountryDy:self.countryDy];

segue的执行在第二个VC viewload之后 显示之前。

===============================

- awakeFromNib

生命周期早期,vc刚被从nib/stroyboard生成后,还未连接IBoutlet时的回调方法。

注意:全部的 viewDidLoad view{Wil,Did}Appear view{Wil,Did}DisAppear都需要先super 一下他自己。

-(void) viewDidLoad

view刚被load完,且已经连接到IBoutlet后,这里放置需要放到初始化里去完成事情。[此时view还没有被显示]

-(void) viewDidUnLoad

在低内存的情况下,系统会卸载你的view.卸载之后时。

这里处理所有的IBoutlet 为nil;清空。 

正在显示时是不会unload的。

vc是不会从heap中清除掉的,被清除的只是它的View.

- (void) viewWillAppear:(BOOL)animated

当view即将被显示时调用。

他适合做两种事情:

1.最后时刻加载一些高开销的操作

2.修改几何特性

说明:

[如果需要调整view的几何特性[旋转之后 变化之类的巴拉巴拉] 在这里书写]。

如果是长时间的操作 则最好在此开个现成操作。

-(void) viewDidAppear:(BOOL)animated

刚显示 

-(void) viewWillDisappear:(BOOL)animated

view在屏幕消失之前。

此时你可能需要记录当前view的一些信息。

-(void) viewDidDisappear:(BOOL)animated

刚消失

-(void) view{Will,Did}LayoutSubviews;

view的子view的frame变化时[如:旋转屏幕]

经常用此方法[did]来处理旋转后的布局问题。

-(void) willRotateToInterfaceOrientation:(UIinterfaceOrientation) anOrientation

       duration:(NSTImeInterval) seconds;

将要旋转

-(void) didRotateToInterfaceOrientation:(UIinterfaceOrientation) anOrientation

刚旋转完

-(void) willAnimateRotateToInterfaceOrientation:(UIinterfaceOrientation) anOrientation

       duration:(NSTImeInterval) seconds;

将要动画旋转?

猜你喜欢

转载自poolo.iteye.com/blog/1696987