引用博客:www.jianshu.com/p/e6a7cdcc705d
深拷贝和浅拷贝分为两种类型,一种为拷贝字符串,数组,字典;一种为拷贝对象。
一、拷贝字符串,数组,字典:
1)可变字符串的拷贝
结果:可变字符串的拷贝都是深拷贝
2)不可变字符串的拷贝
不可变字符串的copy是浅拷贝,mutableCopy是深拷贝。
二、拷贝NSObject对象
要想拷贝NSObject对象,就必须实现<NSCopying>协议
- (id)copyWithZone:(nullable NSZone *)zone;
或者<NSMutableCopying>协议
在这个协议方法里边,你需要重新创建一个对象,然后把是把需要复制对象的属性挨个重新赋值一遍。