打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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不被调用)

二、卸载过程

当程序收到内存不足的警告后,程序内存中的所有的UIViewController都将会收到didReceiveMemoryWarning调用消息。是为了将当前不显示的UIViewController中的view释放掉(不会调用UIViewController的dealloc方法,也就是controller对象未被销毁,也就不用调用init方法),所以当该UIViewController再次显示的时候又要生成一次,那么这个时候,它会调用loadView->viewDidLoad->viewWillAppear等,此时也就是最容易使内存泄漏的时候了。

关于UIViewController加载和卸载的过程就写到这,事实上趁现在有时间就和大家分享一点关于iOS开发方面的知道,希望能够帮助到有需要的人,当然是帮助到越多的人越好,也证明我没有白写。
                   
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
initwithcoder和initwithframe
UIViewController的生命周期及iOS程序执行顺序
iOS开发 - 深入理解控制器与类
iOS App开发中UIViewController类的使用教程
!!UIViewController生命周期方法执行顺序
iOS App的生命周期
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服