而且又是我數組的數組的數組....正確的方法來清除/釋放陣列
當我有一個包含一個數組的「Y」的多個實例的數組「×」,如何清除/釋放它沒有冒內存泄漏的風險?
下面的調用是否足夠?
(a)中清除陣列
[x removeAllObjects];
(b)中釋放所述陣列
[x release];
或我需要枚舉陣列,諸如:
(c)中結算陣列
for(int i=0;i<x.count;i++)
[[x objectAtIndex:i] release];
[x removeAllObjects];
(d)釋放所述陣列
for(int i=0;i<x.count;i++)
[[x objectAtIndex:i] release];
[x release];
由於事先
iFioh:(a)和(b)是有效的; (c)和(d)不是(它們過度釋放數組中的對象,這會導致崩潰)。如果您想保留該數組以便將對象放入其中,請使用(a)。如果你想完全拋棄數組(如'dealloc'),使用(b)。 – 2010-05-16 22:56:31