ios学习笔记之UIViewControl生命周期
提到UIViewcontrol,每个人都不会陌生吧!平时实际开发中,每天的实际开发应该都少不了它。学过android的各位亲,也对生命周期这四个字并不陌生,无论是activity,还是service,也都皆已熟识了吧。也是由于之前学android的经验,看到后第一感觉就是,其生命周期是怎样的呢?好吧,说了这么多,开始进入UIViewControl的身体吧。
打开官方网站,找了下,并没看到其生命周期的论述,反而有的是关于各种ViewControl的介绍。但从其类的方法中,我们可以看出一些端臆,但究竟是不是,还是写下代码测试下为好。具体代码就不列出,记录下其生命周期吧。
如上图,整个过程大概如上,具体方法如下:
initWithNibName
这是controller的初始化方法,当你使用nib文件进行初始化时,将自动直接执行,也可自定义nib文件初始化。而当你并未使用nib文件,nibname将是nil,但仍通过loadView可以返回一个空的UIView,并且你可以用代码自定义自己的view.
loadView
为controller创建view,但你需要代码自定义view时,自定义UI将写在这个方法内。需要注意一点的是,此方法不可使用super中的view,父方法可以在nil的view的情况下返回一个空的view
viewDidLoad
可以做一些loadView后的操作,当然,这个方法和上面loadView方法在这个viewController没有消亡前,皆只执行一次。类似于android的onCreate吧
viewWillAppear和viewDidAppear
这两个放一起,是因为这两个每当view要出现时都会执行,在还没看到view时执行viewWillAppear,而当view添加到视图中后,将执行此方法表示控制的view已加载。
viewWillDisappear和viewDidDisappear
这两个是当view将消失时执行的,将要消失时调用viewWillDisappear,消失后立即调用viewDidDisappear
viewWillUnload和viewDidUnload
这两个和上面的loadView和viewDidload对应,当收到内存警告时,在viewWillUnload中,我们可以对一些改view中的一些必要信息进行保存,已保证在view看不到的情况下,view被释放了。而viewDidUnload方法中我们则可以释放掉那些强引用。
ios学习笔记之UIViewControl生命周期的更多相关文章
- IOS学习笔记37——ViewController生命周期详解
在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它.ViewContro ...
- MAVEN学习笔记之Maven生命周期和插件简介(3)
MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...
- Maven学习笔记(六):生命周期与插件
何为生命周期: Maven的生命周期就是为了对全部的构建过程进行抽象和统一.Maven从大量项目和构建工具中学习和反思,然后总结了一套高度完好的.易扩展的生命周期.这个生命周期包括了项目的清 ...
- Spring4学习笔记 - Bean的生命周期
1 Spring IOC 容器对 Bean 的生命周期进行管理的过程: 1)通过构造器或工厂方法创建 Bean 实例 2)为 Bean 的属性设置值和对其他 Bean 的引用 3)调用 Bean 的初 ...
- Android之Fragment学习笔记②(Fragment生命周期)
一. Fragment生命周期图 二.Fragment生命周期方法介绍 Fragment的生命周期和activity生命周期很像,其生 ...
- android学习笔记28——Activity生命周期
Activity生命周期 Activity的活动状态由android已Activity栈的形式管理,当前活动的Activity位于栈顶.随着不同应用的运行,每个Activity都有可能从活动状态转入非 ...
- Android学习笔记:Activity生命周期详解
进行android的开发,必须深入了解Activity的生命周期.而对这个讲述最权威.最好的莫过于google的开发文档了. 本文的讲述主要是对 http://developer.android.co ...
- Spring 学习笔记---Bean的生命周期
生命周期图解 由于Bean的生命周期经历的阶段比较多,我们将通过一个图形化的方式进行描述.下图描述了BeanFactory中Bean生命周期的完整过程: Bean 的生命周期从Spring容器着手实例 ...
- RxSwift学习笔记3:生命周期/订阅
有了 Observable,我们还要使用 subscribe() 方法来订阅它,接收它发出的 Event. let observal = Observable.of("a",&qu ...
随机推荐
- vs2012代码段,快捷键,snippet 的使用
这篇还是介绍怎么简单我们编写代码------本想放在上一篇 插件 一起,但是怕搜不到, 大神们就没法给我教更好的方式,所以就另写了一篇 [大家看完后,插件resharp如果能实现这效果,请教 ...
- zabbix-agent TIME_WAIT 过多
一.系统环境 操作系统: Centos 6.4 64bit zabbix-agent 版本: Zabbix agent v2.2.7 (revision 50148) (24 October 2014 ...
- iOS8自适应布局视频教程
联系:http://www.elsyy.com/course/6480 这是颐和园最近录制iOS8视频课程.简介iOS8出现在自适应布局. 本教程的书,颐和园<ios8 swift编程指南> ...
- 开发者:网站 & SDK
{ 收集的一些.开发工具 } Teambition 团队协作工具 GitCafe 代码托管 FIR.im App 托管平台 Coding 代码托管,项目管理,WebIDE 计蒜客 编程学习 SendC ...
- 【甘道夫】Ubuntu群集配置 - 免费登陆
引言 这是几年前写的文章,但一直以来该问题被反复问到.所以我决定将它又一次搬上屏幕. 正文 三个节点:masternode slavenode1 slavenode2 第一步:全部节点分别生 ...
- TDD(测试驱动开发)学习二:创建第一个TDD程序
本节我们将学习一些测试驱动开发环境的搭建,测试驱动开发概念和流程.所涉及的内容全部会以截图的形式贴出来,如果你也感兴趣,可以一步一步的跟着来做,如果你有任何问题,可以进行留言,我也会很高兴的为你答疑. ...
- Entity Framework 处理并发
Entity Framework 处理并发 在以前的两个教程你对关联数据进行了操作.本教程展示如何处理并发性.您将创建工作与各Department实体的 web 页和页,编辑和删除Department ...
- 如何实现TWaver 3D颜色渐变
一般而言,须要实现3D物体的渐变,通常的思路就是通过2D绘制一张渐变canvas图片作为3D对象的贴图.这样的方式是能够解决这类问题的.只是对于一般用户而言,通过2D生成一张渐变的图片.有一定的难度, ...
- yii中登录后跳转回登录前请求的页面
当我们请求一个经过权限控制的请求不通过时,会跳转到一个地方请求权限,请求结束后需要跳转回之前的页面.比如我们请求一个需要登录的action,会被跳转到login页面,我们希望登录成功后跳转到我们之前希 ...
- changePage() 页面跳转
jQuery.mobile.changePage( to [, options ] ) 从一个页面跳转到另一个页面,使用$.mobile对象的changePage方法来实现.但要使用此方式的时候,要以 ...