遵守NSCopying协议的类的实例才能发送copy消息,当一个实例发送copy消息后,实际上是实例化了一个新对象,所以这个copy出来的对象必需要手动release。
如果自定义copy,那么必需遵守NSCopying协议并且实现copyWithZone:方法
copy返回的是不可变对象(即不可修改),相对的mutableCopy返回的是可变对象(可修改)
深复制:
深复制用到归档功能(其实就是序列化和反序列化过程)
NSKeyedArchiver 序列化类
NSKeyedUnachiver 反序列化类