一般对NSArray和NSMutableArray进行copy是深拷贝,产生新的array对象。其内部元素也是浅拷贝,数组元素没有产生新对象。
如果像想对数组进行深拷贝,可以这样,且MyObject必须实现Copy协议中的 -copyWithZone: 方法。
NSArray *array = @[MyObject.new];
NSLog(@"%@", array[0]);
NSLog(@"%@", [[NSArray alloc] initWithArray:array YES][0]);
网友评论