码迷,mamicode.com
首页 > 其他好文 > 详细

copy与mutableCopy

时间:2016-01-25 21:17:18      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

不可变对象执行不可变拷贝(copy)就是浅拷贝
如果执行拷贝时 只要有可变的无论是可变对象还是可变拷贝(mutableCopy)就是深拷贝

只有源对象和副本对象都不可变才是浅拷贝,其它都是深拷贝!

copy 创建的是不可变副本(NSString , NSArray, NSDictionary)
mutableCopy 创建的是可变副本 (NSMutableString, NSMutableArray, NSMutableDictionary)
shallow copy 浅拷贝(指针拷贝):相当于做了一次retain操作 引用计数器加1 没有产生新的对象  源对象和副本对象是同一个对象!
deep copy 深拷贝(内容拷贝):源对象和副本对象是两个不同的对象,源对象的计数器不变,副本对象计数器加1(产生了一个新的对象)

copy与mutableCopy

标签:

原文地址:http://www.cnblogs.com/herobin/p/5158630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!