IOS UIViewController的生命周期
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
1、alloc 创建对象,分配空间
2、init (initWithNibName) 初始化对象,初始化数据
3、loadView 从nib 载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear 视图已在屏幕上渲染完成
当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1、viewWillDisappear 视图将被从屏幕上移除之前执行
2、viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了
3、viewWillUnload
4、viewDidUnload 在发生内存警告的时候如果本视图不是当前屏幕上正在显示的视图的话, viewDidUnload将会被执行,本视图的所有子视图将被销毁,以释放内存,此时开发者需要手动对viewLoad、viewDidLoad中创建的对象释放内存。 因为当这个视图再次显示在屏幕上的时候,viewLoad、viewDidLoad 再次被调用,以便再次构造视图。
5、dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
转载于:https://www.cnblogs.com/zhrren/archive/2012/11/29/2794530.html
IOS UIViewController的生命周期相关推荐
- IOS UIViewController API,生命周期详解
在UIKit框架中只有一个根制图控制器.视图控制器用来管理界面和处理界面的类对象,程序启动前必须创建根视图控制器.所有视图控制器都需要自定义完成,必须继承于UIViewController 实现.xc ...
- IOS App的生命周期
文章目录 主函数main 应用程序的状态 应用程序的启动过程 应用程序从前台切换到后台 应用程序从后台切换到前台 响应中断 锁屏/解锁 app的生命周期和viewcontroller的生命周期 App ...
- 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS应用程序生命周期(前后台切换,应用的各种状态)详解 分类: iOS开发进阶2012-10-08 15:35 42691人阅读 评论(30) 收藏 举报 iosapplication任务anima ...
- 《iOS移动开发从入门到精通》图书连载4:iOS应用的生命周期
iOS应用的生命周期 iOS应用的生命周期是指从应用程序的启动,到应用程序结束整个阶段的全过程. 整个iOS应用的生命周期包含了各种状态,有时系统会从应用的一种状态切换至另一种状态来响应系统发生的事件 ...
- 关于ios phone APP生命周期的一点理解
1.当用户点击app图标后,ios底层负责将app沙盒路径及启动参数等信息传递给main.m,在main()中初始化一个全局的内存自动释放池,并调用UIAppliationMain()生成惟一的UIA ...
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
2019独角兽企业重金招聘Python工程师标准>>> iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的. iOS系统 ...
- 深度解析~iOS应用程序~生命周期
摘要:iOS应用程序一般都是由自己编写的代码和系统框架组成,系统框架提供一些基本infrastructure给App来运行,而开发者则自己编写代码定制App的外观和行为,了解iOS Infrastru ...
- iOS ViewController的生命周期
ViewController的简单生命周期: loadView:创建视图控制器(如果不是从.xib加载) viewDidLoad:视图已加载 viewWillAppear:视图加载前运行 viewWi ...
- iOS 应用的生命周期
一个应用的生命周期是这样的过程: 首先运行: didFinishLaunchingWithOptions //应用启动 viewDidLoad //界面载入 applicationDidBecom ...
最新文章
- 【YOLOV4】(7) 特征提取网络代码复现(CSPDarknet53+SPP+PANet+Head),附Tensorflow完整代码
- 七天学习计划_c#_[2][3][4][5]委托、事件、委托与事件的区别、泛型委托、Func\Action\predicate
- ScrollView 内嵌 ListView 只能看到第一个Item
- matlab2018无法使用qcat,解决Matlab 2018a源代码的中文支持问题
- python中的单引号双引号和三引号
- P2167 [SDOI2009]Bill的挑战
- 使用Gradle的简单Spring MVC Web应用程序
- byte[]和string
- udp 协议阻断_应对UDP反射放大攻击的五种常用防护思路
- CDI Features
- 完全采用CSS的CROSS BROWSER TABBED PAGES
- openNLP--Sentence Detector
- 弹出ifame页面(jquery.reveal.js)
- linux - mysql 异常:Ignoring query to other database
- 谷歌pixel手机解BL锁、刷机、破解电信(史上最详细的帖子)
- windows下完美的免费QT开发环境: QtCreator + VC2008Express
- uniapp app 腾讯云 IM 通讯 封装基础登录方法
- Vue中解决数据量过大导致页面崩溃;解决方案
- UG NX二次开发(C#)-建模-分割曲线
- windows 下载和安装Qt Creator
热门文章
- VTK:可视化之VisualizeImageData
- VTK:Filtering之ConnectivityFilter
- OpenGL索引呈现
- C++bidirectional dijkstra双向最短路径算法(附完整源码)
- C++使用数组实现stack堆栈(附完整源码)
- c++语句和流程控制
- 经典C语言程序100例之四一
- 计算机统计字符数,如何在Word中统计相同字符(文字)出现的个数 -电脑资料
- Flume日志采集,avro采集,以及通过参数控制下沉到hdfs的文件大小,时间等控制
- Oracle创建和管理表