NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
myClass *obj = [[myClass alloc] init];
NSArray *ar = [NSArray array];
[ar addObject: obj];
[ar removeObject: obj];
[pool drain];
從NSArray陣列中移除一個對象是否會自動釋放它先前分配的內存?答案似乎是從我從各種渠道找到的答案。問題是如果我測試內存泄漏,xcode仍然抱怨obj沒有被釋放。那麼究竟發生了什麼?從NSArray中移除對象是否會自動釋放其內存?
謝謝你們,你們的幫助非常感謝。 =) – hollow7
「將從NSArray數組中移除一個對象會自動釋放它之前分配的內存??」 - 嚴格的答案是否定的。它不會釋放你分配的內存,只是釋放數組本身發送的保留。 –
請注意,您的「也注意」可能會引起誤解:當游泳池消失時,陣列將收到「釋放」,但其中的對象將繼續存在,因爲它們也由其他東西所擁有。 –