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 ...
随机推荐
- mysql_常用命令
1: 以指定编码创建数据库 CREATE DATABASE `search_data` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
- mac os x10.11.2系统eclipse无法读取环境变量的问题
eclipse调试Android自动化脚本的时候一直无法找到adb,遇到这么坑的问题,折腾死了,记录一下. mac os x10.11.2系统GUI程序(eclipse)无法读取~/.bash_pro ...
- 开源 java CMS - FreeCMS2.3员
原文地址:http://javaz.cn/site/javaz/site_study/info/2015/28375.html 项目地址:http://www.freeteam.cn/ 会员注冊 打 ...
- Hibernate_10_继承的例子_单表
只是建一个表,所有属性都包括在此表.使用discriminator 到父和子类之间的区别. 1)父类(Article): public class Article { private Integer ...
- OracleServiceORCL服务不见了怎么办
用管理员身份运行命令提示符(CMD) 然后输入“oradim -new -sid orcl”即可
- 所谓策略,我站在旁边看今天 神刻的样子O2O
雕爷.何许人也? 卖牛腩的大叔? 卖精油的大爷?还是卖烤肉的家伙? 事实上以上答案都是肯定的,他就是阿芙精油,雕爷牛腩创业神话的缔造者.那么雕爷是怎样取得这种创业成功的呢?前段时间我还不清楚雕爷的厉害 ...
- windows下exfat无法写入修复
为了可以实现mac与windows文件共享,把移动硬盘格式化为exfat了,但是在osx中放入文件后,在windows上紧进行读取写入时出现错误,提示使用chkdsk进行修正,以下是修正步骤. ①wi ...
- jQuery实现按键盘方向键翻页
1.jQuery代码: $(document).ready(function(){ var prevpage=$("#pre").attr("href"); v ...
- java23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- C++多线程分析
我们开始谈论的线程之前先看看这些线载波前-进程. 进程,它是一个正在执行的程序的实例.是一个程序在其自身的地址空间的一次执行活动.进程是资源申请.调度.和独立执行的基本单位.进程有两部分组成: 1.操 ...