1.通常创建可变数组的方式:
NSMutableArray *array = [NSMutableArray alloc] init];
然而这并不是最好的方法
2.通过arraywithcapacity
创建可变数组数组
//创建一个可变的数组长度为10
NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];
- 1.这个10代表内存中开辟的内存单元 如果数组元素个数大于10,则会新开辟10 * 2 个内存 ,也就是重新开辟20的内存, 将之前的10个元素内容拷贝到新的内存中,并将开始创建的10个内存释放
- 这个size数组容量只是数组最终大小的一个参考。size的值是为 Cocoa能够对代码进行一些优化,这个值不会用来限制数组的大小。
3.NSMutableArray中arraywithcapacity 和 initwithcapacity的区别?
- 区别:
- arrayWithCapacity是类autorelease的.
- [NSMutableArray alloc]initWithCapacity需要自己release.