我試圖瞭解何時需要使用copy
?我認爲copy
分配新的內存,但它不。因此,例如:當我需要使用複製?
NSArray *array = @[@"111", @"111"];
NSArray *array1 = array.copy;
NSMutableArray *array2 = array.copy;
NSMutableArray *array3 = array.mutableCopy;
NSArray *array4 = array.mutableCopy;
分配給array3和array4的新內存。所以,我可以做數組1和數組2只是:
NSArray *array1 = array;
NSMutableArray *array2 = array;
當我可以使用複製的,它只是讓一成不變的數組2,到時將是有益的給我嗎?
我認爲你缺少的是'copy'增加了不可變對象的保留數,並且實際上爲可變對象創建了一個副本。因此,在ARC之下它不像以前那麼必要。 –