关于类对象的引用计数值增加的情况
2011-10-26 10:35
316 查看
IPHONE是利用类对象的引用计数值来管理内存的,只有当类对象的引用计数值减少到0(理论值,尽管在实际测试过程中,他的值总是=1)的时候,IPhone系统才会回收这个部分内存。
今天我就说下,对象引用计数增加的情况。
因为在实际的编码过程中,我们必须要控制对象的引用计数,也就需要时刻了解对象的引用计数值,那么就需要知道什么时候类对象的引用计数值什么时候增加了,什么时候减少了,这样才能准确的对类对象进行精确的控制。
对于那些能够让引用计数增加的情况如下:
1:使用类属性的赋值模式
2:将一个对象添加到数组当中
3:将一个ViewController对象PUSH到UINavigationController的时候,对象的引用计数增加一个,当该对象Pop出来后,该兑现的引用计数就-1
今天要说明的一个情况是,将一个类对象作为一个子视图添加另一个视图当中的情况:
如果一个视图类对象作为一个子视图添加到另外一个视图对象中去,如下面的代码所示:
[self.view addSubView:SomeViewConroller.view];
那么该子视图的引用计数值不会增加1
这一点是需要注意的,这一点也是我一直迷糊的地方,今天经过实际的测试,理解了这一点。
THE END !
2011-10-26
今天我就说下,对象引用计数增加的情况。
因为在实际的编码过程中,我们必须要控制对象的引用计数,也就需要时刻了解对象的引用计数值,那么就需要知道什么时候类对象的引用计数值什么时候增加了,什么时候减少了,这样才能准确的对类对象进行精确的控制。
对于那些能够让引用计数增加的情况如下:
1:使用类属性的赋值模式
2:将一个对象添加到数组当中
3:将一个ViewController对象PUSH到UINavigationController的时候,对象的引用计数增加一个,当该对象Pop出来后,该兑现的引用计数就-1
今天要说明的一个情况是,将一个类对象作为一个子视图添加另一个视图当中的情况:
如果一个视图类对象作为一个子视图添加到另外一个视图对象中去,如下面的代码所示:
[self.view addSubView:SomeViewConroller.view];
那么该子视图的引用计数值不会增加1
这一点是需要注意的,这一点也是我一直迷糊的地方,今天经过实际的测试,理解了这一点。
THE END !
2011-10-26
相关文章推荐
- 关于margin的数值是百分比,参照对象
- 关于Integer数值比较的问题以及不可变对象
- 关于直接打印一个对象的引用
- LabVIEW关于数值显示控件增加单位的显示设置
- 对于 基类引用指向导出类对象 情况的理解
- 关于对象引用的作用域
- 我的C++学习日记——关于const数值变量,指针和引用的理解
- 关于swing Jframe 按照名称获取所包含JTextField对象引用的问题解决
- 关于C++为类增加标识符和对象DBID的解决方法
- [VB.NET]关于对象名引用的问题
- 关于“System.NullReferenceException: 未将对象引用设置到对象的实例”问题原因。
- 12-4-19关于c++动态的概念 | 返回引用的情况
- 关于java基础中,接口里面父类的对象指向子类的引用
- 关于EF的 序列化类型为“XXX”的对象时检测到循环引用。
- 关于与单例与采用静态变量引用一个对象的区别
- 为 SELECT 对象增加或删除选项的方法在各浏览器中的支持情况不同
- 关于“System.NullReferenceException: 未将对象引用设置到对象的实例”问题原因。
- 关于对象与引用之间的一些基本概念
- 关于对象与引用之间的一些基本概念
- C#linq和lamda两种写法返回的集合中的对象元素引用情况不同,循环计算值要小心