如何使用我设置了所有属性的NSObject,然后将其复制到阵列可以使用的另一块内存中,以便我可以重新使用原始内存?
答案 0 :(得分:7)
简而言之,你没有。
如果你想把对象放在一个数组中,然后创建一个新对象,那就完全按照; addObject:
到数组,alloc/init
到新数组。
如果你问的是如何将一个对象复制到一个随机的malloc()
块中 - 比如说,在一个数组的中间 - 那么这是一个非常不同的问题。 可以在技术上完成,但基本上没有人这样做,因为框架和运行时不是为此而设计的。
如果不了解您的具体需求,就无法详细了解。
答案 1 :(得分:7)
通过向copy
消息发送对象来制作对象的副本。这仅适用于实现NSCopying
协议的类的实例。
阅读Implementing Copy以获得良好的概述。然后阅读Implementing NSCopying Considered Harmful以获取更多背景信息。