集合类的retainCount
来源:互联网 发布:高铁买票软件 编辑:程序博客网 时间:2024/05/24 07:08
真的不要太依赖retainCount。
NSArray *array1 = [NSArray array];
NSArray *array2 = [NSArray alloc]init];
NSMutableArray *array3= [NSMutable array];
NSMutableArray *array4 = [NSMutable alloc]init];
前面两种其实指向同一个地址,因为编译器知道这俩以后都不会变了,所以认为是同一个东西会比较省资源。retainCount没有意义。
第三个,第四个未来可能会不同,因此保持区别对待。它们的retainCount都是1.
一个对象被加入NSArray时,会被retain一次,这样就不用担心原来的被干掉,可以认为是有了份属于自己的拷贝。移除的时候,对它release一次。
一个NSArray数组被干掉时,也会向所有的组员发送一次release。
一个对象被加入NSMutableArray时,也会被retain。数组的可变性在于可以增减指针,改变指针值。
一个NSMutableArray被干掉时,也会向组员发送release消息。
同样的道理也可以延伸到其他集合类。
0 0
- 集合类的retainCount
- 理解NSString的RetainCount
- 关于 retainCount 的疑问
- NSString的retainCount
- NSString的retainCount
- NSString的retainCount
- RetainCount
- Objective-C 的基本数据类型、数字、字符串和集合等介绍 (retaincount 释放问题)
- NSString的retainCount总是-1
- 使用retainCount存在的问题
- NSMutableArray类addObject方法对对象retainCount的影响 --在MRC下
- 关于NSString和NSMutableString的retainCount
- UIViewController的retainCount奇怪之处
- 关于NSString和NSMutableString的retainCount
- ARC模式下获取retainCount的方法
- Objective-C中NSString对象的retainCount
- ios关于retainCount的一些疑问
- iOS NSString retainCount遇到的问题
- java线程中的interrupt,isInterrupt,interrupted方法
- 我为什么要学习Linux?
- CString类
- HDU 1171 Big Event in HDU
- 关于arc与非arc的混合编程
- 集合类的retainCount
- RabbitMQ (消息队列)专题学习01 RabbitMQ部署
- C. Inna and Dima 深度搜索
- 动态代理
- 没有匹配 if 的非法 else 问题解决办法
- 移动平台的meta标签-----神奇的功效
- 求凸包面积:poj3348
- Zend Studio中安装Aptana及几个配置说明
- Java并发编程中的join()与interrupt()函数