有以下兩個代碼段之間的任何實際的區別:Objective-C的移動陣列(內存管理)之間的項目
NSObject * obj = [[_mutableArrayOne objectAtIndex:i] retain];
[_mutableArrayOne removeObject:obj];
[_mutableArrayTwo addObject:obj];
[obj release];
和
NSObject * obj = [_mutableArrayOne objectAtIndex:i];
[_mutableArrayTwo addObject:obj];
[_mutableArrayOne removeObject:obj];
謝謝。這幾乎是我的想法。 – Steve 2010-07-23 02:20:55
removeObject刪除所有的事件 - 在第二種情況下,你將不會有可變數組中的'objec'......看到我的答案... – 2010-07-23 02:22:38
這是公然不真實的。在第二種情況下,當對象在* both *數組中時,有一小段時間窗口。在多線程環境中,這可能是一個問題(相反,讓數組中的對象也可能成爲問題)。 – JeremyP 2010-07-23 09:35:32