【发布时间】:2012-10-19 00:32:33
【问题描述】:
我有一个 ARC 项目。
我有一个NSArray 里面有一些东西。
在某些时候,我需要更改数组中的对象。
NSMutableArray 我会做的:
[array removeAllObjects];
我确信这个方法会释放数组中包含的所有对象。
但是使用 NSArray 我不能那样做!所以,我的问题是:如果我将数组设置为nil 然后重新初始化它,数组中包含的旧对象真的从内存中释放了吗?
array = nil;
array = [[NSArray alloc] initWithArray:newArray];
或者我需要使用NSMutableArray?
【问题讨论】:
-
'但是使用 NSArray 我不能这样做!'那么,如果您需要的话,为什么不使用
NSMutableArray? -
因为数组是不可变的(没有添加或删除对象)。只改变整个数组!
标签: ios nsmutablearray nsarray automatic-ref-counting release