由于自定义对象不考虑可变,所以忽略mutableCopy
当对象需要调用 copy 的时候,需要遵守遵守 NSCopying 协议 和 调用 copyWithZone:
当自定义对象调用copy的时候,指针地址发生了改变,也就意味着产生新的对象,所以属于深拷贝
总结:当不可变类型对象调用copy拷贝后,不会产生新的对象,属于浅拷贝,其他类型对象不管调用copy亦或是mutableCopy,都会产生新的对象,属于深拷贝!
由于自定义对象不考虑可变,所以忽略mutableCopy
当对象需要调用 copy 的时候,需要遵守遵守 NSCopying 协议 和 调用 copyWithZone:
当自定义对象调用copy的时候,指针地址发生了改变,也就意味着产生新的对象,所以属于深拷贝
总结:当不可变类型对象调用copy拷贝后,不会产生新的对象,属于浅拷贝,其他类型对象不管调用copy亦或是mutableCopy,都会产生新的对象,属于深拷贝!