2011-11-02 61 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];