使用copy来拷贝对象

Posted 小爷的爷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用copy来拷贝对象相关的知识,希望对你有一定的参考价值。

拷贝对象

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

NSArray *myArray = [yourArray copy];

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

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

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

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

以上是关于使用copy来拷贝对象的主要内容,如果未能解决你的问题,请参考以下文章

python之copy模块与深拷贝浅拷贝

python之copy模块与深浅拷贝

浅拷贝与深拷贝的实现方式区别;deepcopy如果你来设计,如何实现

python 的深拷贝与浅拷贝

python(41):copy拷贝(深拷贝deepcopy与浅拷贝copy)

OC中的拷贝(copy)