viewDidLoad等相关函数调用
viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用。viewDidLoad用于初始化,加载时用到的。
loadView 此方法在控制器的view为nil的时候被调用。虽然经常说loadView是使用代码生成视图的时候,当视图第一次载入的时候调用的方法。用于使用(写)代码来实现控件。用于使用代码生成控件的函数。但是经过自己实际断点单步操作发现,不管用不用nib,都最先调用loadView,所以说loadView 此方法在控制器的view为nil的时候就会被调用。一般在使用nib后就会把loadView注释掉。Xcode4.2创建的时候就给注释好了。
当手写代码时一定注意分配UIView.自己经常用的有两种方法,如下:
- ( void ) loadView {
UIView *view = [ [ UIView alloc] initWithFrame:[ UIScreen
mainScreen] .applicationFrame] ;
self.view = view;
[ view release] ;
} - ( void ) loadView {
[super loadView];
}
但是第二种方法[super loadView]方法不被提倡,也不是苹果所希望的,就自己的几个小项目来看,就有一次使用第二种方法崩了,第一种就可以,所以还是方法一比较保险。就是你的loadView中应该有self.view = …这样的行为。
viewDidUnload方法
当系统内存吃紧的时候会调用该方法,一般在这个类中添加的代码是赋空代码,网上的解释是这样的:
在该方法中释放其他与view有关的对象、其他在运行时创建(但非系统必须)的对象、在viewDidLoad中被创建的对象、缓存数据等 release对象后,将对象置为nil(IBOutlet只需要将其置为nil,系统release view时已经将其release掉了)
一般认为viewDidUnload是viewDidLoad的镜像,因为当view被重新请求时,viewDidLoad还会重新被执行 viewDidUnload中被release的对象必须是很容易被重新创建的对象(比如在viewDidLoad或其他方法中创建的对象),不要release用户数据或其他很难被重新创建的对象 |
viewWillAppear:方法更新准备显示的视图的信息。调用时,视图可能还没有被加载。
使用viewDidAppear:来触发视图完全显示在屏幕上之后的行为,例如任何动画。
这两个方法是每当切换到view时就调用。
最新文章
- BZOJ 3505 【Cqoi2014】 数三角形
- [PCB设计] 1、硬件原理图设计规范(一)——基本原则
- 可能是一场很 IN 的技术分享
- js滚动效果-(up,left)
- Android 环境快速搭建-详细步骤-win7-64bit
- spring依赖注入单元测试:expected single matching bean but found 2
- SQLServer的最大连接数 超时时间已到 但是尚未从池中获取连接
- 创建透明CEdit控件
- 业务零影响!如何在Online环境中巧用MySQL传统复制技术【转】
- bottle.py中的路由解析代码
- NLP基础——词集模型(SOW)和词袋模型(BOW)
- Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)
- Fluent动网格【11】:弹簧光顺
- 【19】中间者模式(Mediator Pattern)
- iOS UI进阶-3.0 核心动画
- gem ";searchkick";(4500✨) 智能搜索(使用Elastic search)(Gorails:建立一个侧边搜索栏)
- linux修改密码出现Authentication token manipulation error的解决办法
- UML学习-1 UML 简介
- 深入理解js的变量提升和函数提升(转)
- bzoj 3280: 小R的烦恼 费用流
热门文章
- bzoj2502【有上下界的最大流】
- 视图表单访问控制器操作方法的POST、GET方式对应关系
- asp.net mvc4 不支持EF6
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(四)图书信息的增删改查
- HDU4418:Time travel(高斯消元+期望)
- -------Pokemon Master------很水-------
- java基础类型数据与String类包装类之间的转换与理解
- OpenCV+VS开发环境配置
- 贪心+stack Codeforces Beta Round #5 C. Longest Regular Bracket Sequence
- Oracle10g的imp命令