2009-10-29 72 views

回答

27

- [NSMutableArray removeAllObjects]不适用于您?

+0

它现在...谢谢! – rson 2009-10-29 14:23:24

+0

很愚蠢的是它似乎实际上释放了这个对象......这有什么意义呢?无论如何,我通过在removeAllObjects之前放置一个[NSMutableArray retain]来实现它。 – jowie 2010-08-27 12:06:38

+1

乔 - 在这种情况下,你的代码被破坏了。看到http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/Articles/mmObjectOwnership.html – 2010-08-31 11:44:52

5

​​

3

​​如果“复位”假设,你的意思是你只是想清空数组。

1

如果你正在尝试做我认为你正在尝试做的事,那就是保持一个数组为空但不释放它,或者至少在下一次需要它时使它可用,那么首先你需要设置一个变量或此变量的类中的属性:

NSMutableArray *mutableArray; 

下一页上,你将需要空数组的位置之前添加以下代码:

if (!mutableArray) { 
       mutableArray = [[NSMutableArray alloc] init]; 
     } 

现在你可以安全地调用

[mutableArray removeAllObjects]; 

不用担心数组一旦变空就不可用。