我试图了解何时需要使用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之下它不像以前那么必要。 –