2010-07-02 69 views

回答

15

當您將一個對象添加到數組中時,對象的保留計數將增加1.當您從數組中移除該對象時,保留計數將減1以平衡它。但是,如果釋放數組,所有對象將自動收到釋放消息。所以在釋放數組之前,您不需要調用removeAllObjects。

從技術上講,這兩種方法是不一樣的。如果您調用removeAllObjects,則該數組將變爲空,並且所有對象都將收到釋放消息,但數組本身仍未釋放。該陣列將在您調用發佈時發佈。

+0

那麼當我調用removeAllObjects時,爲什麼我的NSMutableArray被釋放? – jowie 2010-08-27 12:13:08

+0

它不應該在這種情況下被釋放。可能還有其他一些問題。你可以發表一些代碼,以便我們可以試一試嗎? – taskinoor 2010-08-27 13:24:54

+0

對我來說,真的很奇怪。 iOS 6,Xcode 4.5.1 – 3lvis 2012-10-09 09:02:30

相關問題