NSMutableArray创建使用方法和心得
2014-04-24 16:15
1061 查看
如果知道一会儿要用的可变数组的大致大小建议使用initWithCapacity:n的方式,如果不知道就用init就好了,initWithCapacity:0 也许还不如init;因为有时候它会奔溃。
arrayWithCapacity是类autorelease的,而[NSMutableArray
alloc]initWithCapacity需要自己release。
在with capacity的情况下,在初始化的时候分配的内存为n*sizeof(elem)--假设capacity为n。如果在使用的过程中需要加入更多的元素需要给array扩容了,那么必须去找系统再次要求分配内存,而这次要求的内存的大小和扩容因子有关系,如果扩容因子为2,那么扩容之后总共分配的堆内存就成了2n*sizeof(elem)..扩容因子应该自己可以指定吧一般。
init、initWithCapacity:0和initWithCapacity:10000000的结果非常接近,都是2.1~2.2秒之间。由于存在波动,结果基本上是随机的,所以我倾向于选择最短的写法
如果你知道最大需要的容量,那么就使用initWithCapacity:来设置,好处就是当元素个数不超过容量时,添加元素不需要重新分配内存。
arrayWithCapacity是类autorelease的,而[NSMutableArray
alloc]initWithCapacity需要自己release。
在with capacity的情况下,在初始化的时候分配的内存为n*sizeof(elem)--假设capacity为n。如果在使用的过程中需要加入更多的元素需要给array扩容了,那么必须去找系统再次要求分配内存,而这次要求的内存的大小和扩容因子有关系,如果扩容因子为2,那么扩容之后总共分配的堆内存就成了2n*sizeof(elem)..扩容因子应该自己可以指定吧一般。
init、initWithCapacity:0和initWithCapacity:10000000的结果非常接近,都是2.1~2.2秒之间。由于存在波动,结果基本上是随机的,所以我倾向于选择最短的写法
如果你知道最大需要的容量,那么就使用initWithCapacity:来设置,好处就是当元素个数不超过容量时,添加元素不需要重新分配内存。
相关文章推荐
- OC学习之道:OC对象,字符串和数组的使用方法NSString,NSMutableString ,NSArray,NSMutableArray
- NSArray和NSMutableArray的创建及常用方法
- Objective-C中NSMutableArray的创建及使用
- NSMutableArray的创建方法
- iOS 开发--NSMutableArray使用枚举方法
- NSMutableArray各种使用方法.
- OC NSArray 和 NSMutableArray 常用方法的使用和实例
- NSArray和NSMutableArray的基本使用
- 常见的NSArray和NSMutableArray方法
- 黑马程序员——NSArray和NSMutableArray的使用
- NSMutableArray的常用方法
- NSMutableArray使用过程出现问题
- oc-Foundation框架-NSMutableArray-常用方法
- NSArray,NSMutableArray的使用与内存问题
- NSMutableArray的使用... exchangeObjectAtIndex
- NSArray和NSMutableArray的常用方法
- OC_关于NSArray、NSMutableArray的使用
- NSMutableArray使用copy声明所产生内存泄漏的问题
- iOS开发OC基础:OC字典NSDictionary以及NSMutableDictionary基本方法的使用
- NSArray 类,NSMutableArray 类 ,NSNumber类中的一些方法