基本概念
浅拷贝:地址拷贝,两个对象指向同一地址。
深拷贝:对象拷贝,两个对象指向不同地址。
copy & mutableCopy
| copy | mutableCopy | |
|---|---|---|
| 不可变对象 | 浅拷贝 不可变 | 深拷贝 可变 |
| 可变对象 | 深拷贝 不可变 | 深拷贝 可变 |
总结:
- 用copy后都是不可变的,用mutableCopy后都是可变的。
- 用mutableCopy都是深拷贝。
- 区别: 不可变对象copy是浅拷贝,可变对象copy后是深拷贝。
Property用copy修饰
Property用copy修饰是一次深拷贝
不可变用copy修饰,相当于做一次备份,不会在其或子类中被修改。
可变对象一般不推荐copy修饰,copy后会变成不可变,使用可变方法会抛异常。
本文深入探讨了浅拷贝与深拷贝的概念,解释了两者在处理不可变对象与可变对象时的区别。详细说明了copy与mutableCopy方法的应用场景,以及在Objective-C中如何正确使用copy属性修饰符。
1186

被折叠的 条评论
为什么被折叠?



