- 对于非可变类型对象,copy是浅拷贝,mutableCopy是深拷贝;
- 对于可变类型对象,copy是深拷贝,mutableCopy也是深拷贝;
- 对于容器类对象,无论是copy还是mutableCopy,其内部对象均为浅拷贝;
- 若要对容器类对象进行一层深拷贝,请使用带有copyItems:的方法初始化容器(内部一层对象是否真正深拷贝遵守前三条);
- 可以用序列化后再进行反序列化的方法深拷贝任何实现了NSCoding协议的对象。
参考:
- iOS 关于容器类的浅、深拷贝探究 https://www.jianshu.com/p/6b9f3a79cc34