OC中的 copy 和 mutableCopy

集合类

OC中的集合类 字典 数组 字符串 set

对于可变类型

 NSMutableArray *names = [NSMutableArray arrayWithObjects:@"tian",@"zhang",nil];
 NSMutableArray *namesCopy = [names copy];
 NSMutableArray *namesMutableCopy = [names mutableCopy];
 NSLog(@"%p %p %p",names,namesCopy,namesMutableCopy);

结果:0x100600fb0 copy:0x100601ad0 mutableCopy:0x100601af0

对于不可变类型

 NSArray *names = [NSArray arrayWithObjects:@"tian",@"zhang",nil];
 NSArray *namesCopy = [names copy];
 NSArray *namesMutableCopy = [names mutableCopy];
 NSLog(@"%p copy:%p mutableCopy:%p",names,namesCopy,namesMutableCopy);

结果:0x100500c30 copy:0x100500c30 mutableCopy:0x100500f50

总结

1.对集合类可变结合类型 浅拷贝深拷贝 都是深拷贝
2.对于集合类不可变类型
3.对于非集合类型 同第二条

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容