NSMutableArray的初始化

来源:互联网 发布:ice框架 java 编辑:程序博客网 时间:2024/05/16 19:42

记得之前一直用这个方法对可变数组进行初始化

 NSMutableArray *array = [NSMutableArray alloc] init]; //大神说:这并不是一个好方法

有人跟我说用obj-c提供了静态方法 +(id)arrayWithCapacity:size 来创建一个可变数组。查Dash后发现,这个size数组容量只是数组最终大小的一个参考。size的值是为 Cocoa能够对代码进行一些优化,这个值不会用来限制数组的大小。

所以我们可以这样创建可变数组:

 //创建一个可变的数组长度为8  ---不用担心会有限制 NSMutableArray *array = [NSMutableArray arrayWithCapacity:8];  

你觉得这样就行了么??
哈哈,再补充一点东西 ··

在Google的时候发现还有一些有用的知识,

问题:

  • NSMutableArray中arraywithcapacity 和 initwithcapacity的区别?在使用NSMutableArray时,初始化数组有这两个方法,它们有什么本质区别吗?是不是都是autorelease的吗?

  • 回答

    • arrayWithCapacity是类autorelease的,而[NSMutableArray alloc]initWithCapacity需要自己release
0 0