2011-11-02 60 views
-1

我有一个循环,将值添加到NSMutableArray,但是当我移动到下一批时,我需要清除并初始化数组以添加下一批数据,我认为使用[jobList release]会执行诀窍,但它没有。有人可以让我知道我可以使用什么来重置阵列后,每次迭代。如何初始化NSMutableArray

回答

3

如果发送-release到它,那么它是有可能的,但不能肯定该对象将被释放,而不是清除,你希望它是。

的解决方案是超级简单:使用-removeAllObjects方法:

for(id x in jobList) { 
    //... 
} 

[jobList removeAllObjects]; 

//... 
+1

+1,但比这更糟糕的偶数。它很可能会*,但不一定*会被释放。有时候它不会,你可以用它来快乐地忽略它的短暂性。 –

+0

谢谢你,工作得很好。但是,现在发生的情况是每个密钥组都被最后一个密钥组覆盖。所以,如果第一个从10个项目开始,然后我清除数组。当我添加有12个项目的下一个小组时,第一个小组也突然具有相同的12个项目。我错过了什么? – user616076

0

做一个release可能会导致如果没有其他对象保留它的对象被释放,所以你绝对不希望这样做。

做一个清除使用​​。

0

您可以简单地使用[jobList removeAllObjects];

0

使用release会收回您正在访问的对象,这是错误的。我认为你正在寻找

[jobList removeAllObjects];