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

被折叠的 条评论
为什么被折叠?



