天天看点

iOS培训篇——UIViewController加载和卸载介绍

大家都写程序、编程序,有没有注意过要怎样去完善程序和加载程序呢?那么如何将程序优化的更完美,更无缺,作为那那工作在iOS开发幕后的开发者,他们每天都是在做着这样的事,一天天不停的写程序,不停的完善程序。大家所学到的各种的于iOS培训方面的知识,事实大多数都来源于他们的创造!蓝鸥的任务是介绍UIViewController加载和卸载过程!

一、加载过程:

一般情况下调用init方法或者调用initWithNibName方法实例化UIViewController,无论是调用哪个方法都为调用initWithNibName,下面是实现方法:

-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil

接下来就是用loadView方法来生成UIViewController.view

-(void)loadView

然后调用viewDidLoad方法

-(void)viewDidLoad

如果loadView不能生成UIViewController.view系统将会反复调用loadView及viewDidLoad方法,并且最终调用[superloadView]方法返回UIViewController.view在UINavigationController的POP操作后有时将要显示的UIViewController中的View并没有释放(也有可能释放掉),UIViewController将不会调用上面的三个方法(initWithNibName,loadView,viewDidLoad)而会调用下面这2个方法

-(void)viewWillAppear:(BOOL)animated;

-(void)viewDidAppear:(BOOL)animated;

在iOS5.0中还添加了2个函数:

-(void)viewWillLayoutSubviews;

-(void)viewDidLayoutSubviews;

下面是另外一种方法(loadView和viewDidLoad不被调用)

iOS培训篇——UIViewController加载和卸载介绍

二、卸载过程

iOS培训篇——UIViewController加载和卸载介绍