使用copy来拷贝对象

拷贝对象

您通过将 copy 消息发送给对象,以制作对象的副本。

NSArray *myArray = [yourArray copy];

要拷贝,接收对象的类必须遵守 NSCopying 协议。如果想要对象可供拷贝,必须采用并实施此协议的 copy 方法。

有时,当您想要确保对象的状态在使用时不会更改,会拷贝从程序的其他地方获取的对象。

拷贝行为是特定于某一个类的,具体取决于实例的特定性质。大多数类实现深拷贝,即复制所有实例变量和属性;部分类(如集类)实现浅拷贝,即仅复制对这些实例变量和属性的引用。

具有可变变体和不可变变体的类也声明 mutableCopy 方法,来创建对象的可变副本。例如,如果在 NSString 对象上调用 mutableCopy,您会获得 NSMutableString 的实例。

原文地址:https://www.cnblogs.com/lelun/p/5558641.html