【发布时间】:2016-09-27 23:09:50
【问题描述】:
根据 Apple 文档:
NSCopying 复制一个对象会创建一个与原始对象具有相同类和属性的新对象。当您想要对象包含的数据的您自己的版本时,您可以复制对象。 https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/ObjectCopying.html
@property(copy) 使用 copy 自动向新分配的对象发送 -copy 消息(这将创建传递对象的副本并将该副本分配给属性.https://developer.apple.com/library/ios/documentation/General/Conceptual/DevPedia-CocoaCore/ObjectCopying.html
我知道已经有很多关于这些概念的内容。
但是有人可以解释以下场景:
这两个可以互换使用
这两个需要一起使用才能实现。(因为如果我们创建一个自定义类,如果我们使用@property(copy)创建这样一个类的对象,系统如何直接创建一个副本)?
【问题讨论】:
标签: ios objective-c iphone memory-management deep-copy