- 不可变对象执行 copy 生成的还是不可变对象,指针拷贝,浅拷贝
- 不可变对象执行 mutableCopy 生成了可变对象,内容拷贝,深拷贝
- 可变对象执行 copy 生成不可变对象
- 可变对象执行 mutableCopy 生成可变对象
copy 自定义类
- 导入 <NSCopying>
- 实现 copyWithZone
- [object copy]
如 一个 person 对象存在对应的 属性
- (id)copyWithZone:(nullable NSZone *) zone {
Person * p = [[Person alloc] init];
p.name = _name;
return p;
}