【发布时间】:2010-09-13 01:19:56
【问题描述】:
如何获取我设置了所有属性的 NSObject,然后将其复制到数组可以使用的另一个内存块中,以便我可以重新使用原始内存块?
【问题讨论】:
标签: iphone objective-c copy nsarray
如何获取我设置了所有属性的 NSObject,然后将其复制到数组可以使用的另一个内存块中,以便我可以重新使用原始内存块?
【问题讨论】:
标签: iphone objective-c copy nsarray
简而言之,你没有。
如果你想把对象放在一个数组中,然后创建一个新对象,那就这样做吧; addObject: 到数组,alloc/init 一个新数组。
如果您询问如何将对象复制到某处的随机malloc() 块中(例如,在数组中间),那么这是一个非常不同的问题。它可以在技术上完成,但基本上没有人这样做,因为框架和运行时不是为此而设计的。
如果不了解您的具体需求,就不可能更详细。
【讨论】:
通过向对象发送copy 消息来复制对象。这仅适用于实现NSCopying 协议的类的实例。
阅读Implementing Copy 以获得良好的概述。然后阅读Implementing NSCopying Considered Harmful 了解更多背景信息。
【讨论】: