iOS NSMutableArray的初始化

释放双眼,带上耳机,听听看~!

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

 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

 

人已赞赏
iOS文章

git最强git,还难么?

2020-5-13 2:48:32

iOS文章

iOS中json解析出现的null,nil,NSNumber的解决办法

2020-5-13 4:03:02

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索