//
// main.m
// OC语言学习
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSData *data;
NSMutableArray *dataArray = [NSMutableArray arrayWithObjects:
[NSMutableString stringWithString:@"one"],
[NSMutableString stringWithString:@"two"],
[NSMutableString stringWithString:@"three"],
nil
];
NSMutableArray *dataArray2;
NSMutableString *mStr;
//使用归档器进行深拷贝
data = [NSKeyedArchiver archivedDataWithRootObject:dataArray];
dataArray2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
mStr = [dataArray2 objectAtIndex:0];
[mStr appendString:@"ONE"];
NSLog(@"dataArray2[0]= %@",dataArray2[0]); //dataArray2[0]= oneONE
//查看原数组(原数组没有改变)
NSLog(@"dataArray[0]= %@",dataArray[0]); //dataArray[0]= one
}
return 0;
}
使用NSKeyedArchiver进行深拷贝
最新推荐文章于 2018-09-29 09:54:28 发布
本文通过一个Objective-C代码示例介绍了如何使用归档器实现深拷贝,并展示了深拷贝前后原始数组与拷贝数组的变化,验证了深拷贝的有效性。
737

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



