首页 > 移动平台 > 详细

iOS 深拷贝和浅拷贝

时间:2015-02-26 18:03:52      阅读:271      评论:0      收藏:0      [点我收藏+]

注意,本文只说结论不说过程

 

1. 对于系统的非容器类对象,我们可以认为,如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。

 

2. 系统的容器类对象,指NSArray,NSDictionary等。对于容器类本身,第一条讨论的结论也是适用的,需要探讨的是复制后容器内对象的变化。对深浅拷贝的结论可以查看苹果官方文档;地址https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Collections/Articles/Copying.html

 

3. 如果是我们自定义的对象,那么我们自己要遵守NSCopying,NSMutableCopying,并实现copyWithZone:,mutableCopyWithZone:方法,这样就能调用copy和mutablecopy了

iOS 深拷贝和浅拷贝

原文:http://www.cnblogs.com/wfwenchao/p/4301561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!