相比于原始地址:√为一样 X为不一样
对象\容器 retain copy mutableCopy
不可变 √ √ X 可变 √ X X 对象\非容器 retain copy mutableCopy 不可变 √ √ X 可变 √ X X
总结:
retain:始终是浅拷贝。引用计数+1.返回的对象是否可变与被拷贝对象保持一致。
copy:对于不可变对象为浅拷贝,每次引用计数+1(这个与retain没有区别);
对于可变对象为深拷贝,引用计数不变
注意:!!!始终返回一个不可变对象!!!。
mutableCopy:始终是深拷贝,引用计数不变始终返回一个可变对象。
声明:
1. 以上内容属于本人整理的笔记,如有错误的地方希望能告诉我,大家共同进步。
2. 以上内容有些段落或语句可能是本人从其他地方Copy而来,如有侵权,请及时告诉我。