iphone使用loadNibNamed载入view在内存中得注意事项
2013-08-08 12:59
302 查看
首先给大家介绍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了 //0
youview便会自动回收
但是这个时候,owner:self 系统又会自动帮你回收,但是实际上你的引用计数已经为0了,所以就会出现异常了。
正常情况是,在addObject 后,不调用[youview release]就行了。
转载地址:http://blog.csdn.net/hamasn/article/details/7780495
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了 //0
youview便会自动回收
但是这个时候,owner:self 系统又会自动帮你回收,但是实际上你的引用计数已经为0了,所以就会出现异常了。
正常情况是,在addObject 后,不调用[youview release]就行了。
转载地址:http://blog.csdn.net/hamasn/article/details/7780495
相关文章推荐
- iphone使用loadNibNamed载入view在内存中得注意事项
- iPhone开发笔记(20)EGOImageView的使用方法及注意事项
- iPhone开发笔记(20)EGOImageView的使用方法及注意事项
- iphone使用loadNibNamed载入view在…
- 使用UICollectionView注意事项及用UICollectionView实现图片轮播器
- iphone上使用Sqlite的注意事项小结
- 使用OpenSessionInViewFilter的注意事项
- 使用malloc函数申请内存空间注意事项
- ARC内存使用注意事项
- Eclipse 使用RecyclerView及CardView注意事项:
- swift中tableview的使用和注意事项
- static关键字:解决的问题,在内存中的特点和使用注意事项
- android重写listview使用addHeaderView和addFooterView注意事项
- Android 4.4 中 WebView 使用注意事项
- Android 4.4 中 WebView 使用注意事项
- 牛客网Java刷题知识点之匿名对象、匿名对象的内存结构图、匿名对象的应用场景、匿名对象的使用、匿名对象的简单例子、匿名对象要注意的事项
- MFMessageComposeViewController使用的注意事项
- openSessionInView的使用及注意事项
- 黑马程序员-C语言中内存动态分配函数的使用方法及注意事项
- 使用tableView时的3个注意事项(只适合初学者)