使用copy来拷贝对象
Posted 小爷的爷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用copy来拷贝对象相关的知识,希望对你有一定的参考价值。
拷贝对象
您通过将 copy
消息发送给对象,以制作对象的副本。
NSArray *myArray = [yourArray copy]; |
要拷贝,接收对象的类必须遵守 NSCopying
协议。如果想要对象可供拷贝,必须采用并实施此协议的 copy
方法。
有时,当您想要确保对象的状态在使用时不会更改,会拷贝从程序的其他地方获取的对象。
拷贝行为是特定于某一个类的,具体取决于实例的特定性质。大多数类实现深拷贝,即复制所有实例变量和属性;部分类(如集类)实现浅拷贝,即仅复制对这些实例变量和属性的引用。
具有可变变体和不可变变体的类也声明 mutableCopy
方法,来创建对象的可变副本。例如,如果在 NSString
对象上调用 mutableCopy
,您会获得 NSMutableString
的实例。
以上是关于使用copy来拷贝对象的主要内容,如果未能解决你的问题,请参考以下文章
浅拷贝与深拷贝的实现方式区别;deepcopy如果你来设计,如何实现