iphone使用loadNibNamed载入view在内存中得注意事项
来源:互联网 发布:紫阳真人 知乎 编辑:程序博客网 时间:2024/06/11 21:03
首先给大家介绍loadNibNamed得作用,比如我们自己设计了一个view,并且在nib中指定了,那么便可以通过下面得方法把 自己得View 给提取出来.
NSArray中得元素是什么?
大家双击xib文件中,里面得元素会依次存储在你得NSArray* nib数组中.
NSArray* nib = [[NSBundle mainBundle] loadNibNamed/@"CustomCell" owner:self options:nil];
for(id item in nib)
{
if([is isKindOfClass:[youview class]]){
//找到了你自己需要得view
}
}
在这个时候生成后会让引用计数器变为1,但是需要注意得,owner:self ,在owner自己dealloc得时候,系统会自动帮你将你得youview得引用计数器-1得。
那么引发了一个需要密切注意得问题:那么也就是在你得dealloc得时候,你得视图得引用计数值必须为1。
举个例子
NSMutaleArray* array = ....... //1
[array addObject:youview]; //2[youview release];//1
那么在你得 dealloc你肯定会这样做:
[array release];//这个时候,实际上你得youview的引用其实已经为0了
youview便会自动回收
但是这个时候,owner:self 系统又会自动帮你回收,但是实际上你的引用计数已经为0了,所以就会出现异常了。
正常情况是,在addObject 后,不调用[youview release]就行了。
转载地址:http://blog.csdn.net/hamasn/article/details/7780495
- iphone使用loadNibNamed载入view在内存中得注意事项
- iphone使用loadNibNamed载入view在内存中得注意事项
- iphone使用loadNibNamed载入view在…
- hsqldb在内存数据库中得使用
- 使用Qt在内存中画图
- 使用Qt在内存中画图
- 在内存中绘图
- 在内存中绘图
- 使用TClientDateSet 在内存中创建一个临时表
- VC中使用GDI+在内存转换图片类型
- 使用IStream和GDI+在内存中实现图像格式转换
- VC++控制台应用程序下使用GDI在内存中画图
- 使用javaassist在内存中动态生成类
- VC++使用CImage在内存中Jpeg转换Bmp图片
- VC++使用CImage在内存中Bmp转换Jpeg图片
- php的include功能实现:用于在内存合并文件而非读入替换再存盘再载入使用include
- 数据在内存中各种形式
- 在内存中加载DLL
- mysql操作常用命令
- objective-c中的NSBundle
- sybase数据库的安装
- android部分图片处理函数
- RPC和Socket的区别
- iphone使用loadNibNamed载入view在内存中得注意事项
- uva 297
- sybase数据库的配置
- data guard 官方文档地址
- 官方文档译文 Release 2.2.5 译文:Part VII Replication 29.0
- plsql 中汉字显示乱码,显示“? ”
- js代码报错: core.ashx中Microsoft JScript 运行时错误: 内存不够
- sybase数据库修复与卸载
- android 随手记 截图