retain、copy、mutableCopy的区别(深拷贝 浅拷贝)

相比于原始地址:为一样 X为不一样


对象\容器           retain                   copy                  mutableCopy
不可变        				 			X
可变    		 			X			X



对象\非容器	 retain		       copy                  mutableCopy

不可变 		      						X
可变 		 			X			X






总结:

retain:始终是浅拷贝。引用计数+1.返回的对象是否可变与被拷贝对象保持一致

copy:对于不可变对象为浅拷贝,每次引用计数+1(这个与retain没有区别);

对于可变对象为深拷贝,引用计数不变

注意:!!!始终返回一个不可变对象!!!。

mutableCopy:始终是深拷贝,引用计数不变始终返回一个可变对象

声明:

   1. 以上内容属于本人整理的笔记,如有错误的地方希望能告诉我,大家共同进步。

   2. 以上内容有些段落或语句可能是本人从其他地方Copy而来,如有侵权,请及时告诉我。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值