你们都写程序、编程序,有没有注意过要怎样去完善程序和加载程序呢?那么如何将程序优化的更完美,更完好,做为那那工做在iOS开发幕后的开发者,他们天天都是在作着这样的事,一每天不停的写程序,不停的完善程序。你们所学到的各类的于iOS培训方面的知识,事实大多数都来源于他们的创造!蓝鸥的任务是介绍UIViewController加载和卸载过程!编程
1、加载过程:ide
通常状况下调用init方法或者调用initWithNibName方法实例化UIViewController,不管是调用哪一个方法都为调用initWithNibName,下面是实现方法:函数
-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil优化
接下来就是用loadView方法来生成UIViewController.viewspa
-(void)loadViewblog
而后调用viewDidLoad方法内存
-(void)viewDidLoad开发
若是loadView不能生成UIViewController.view系统将会反复调用loadView及viewDidLoad方法,而且最终调用[superloadView]方法返回UIViewController.view在UINavigationController的POP操做后有时将要显示的UIViewController中的View并无释放(也有可能释放掉),UIViewController将不会调用上面的三个方法(initWithNibName,loadView,viewDidLoad)而会调用下面这2个方法get
-(void)viewWillAppear:(BOOL)animated;it
-(void)viewDidAppear:(BOOL)animated;
在iOS5.0中还添加了2个函数:
-(void)viewWillLayoutSubviews;
-(void)viewDidLayoutSubviews;
下面是另一种方法(loadView和viewDidLoad不被调用)
2、卸载过程
当程序收到内存不足的警告后,程序内存中的全部的UIViewController都将会收到didReceiveMemoryWarning调用消息。是为了将当前不显示的UIViewController中的view释放掉(不会调用UIViewController的dealloc方法),因此当该UIViewController再次显示的时候又要生成一次,那么这个时候,它会调用loadView->viewDidLoad->viewWillAppear等,此时也就是最容易使内存泄漏的时候了。
关于UIViewController加载和卸载的过程就写到这,事实上趁如今有时间就和你们分享一点关于iOS开发方面的知道,但愿可以帮助到有须要的人,固然是帮助到越多的人越好,也证实我没有白写。