当我想给Array实现深复制,但又不想重写这个类的时候,该怎么办,
可以利用NSData进行归档,利用NSData的缓冲内存区,为NSArray实现深复制,
代码:
NSMutableArray *arry1 = [NSMutableArray arrayWithObjects:per,new, nil];
NSMutableArray *array2;
array2 = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:arry1]];
这样就实现了对array1的深复制,因为在归档和反归档过程中是产生全新的副本,并且是在内存中完成的,