创建NSObject的副本

Chr*_*ris 7 iphone copy objective-c nsarray

如何获取我已设置所有属性的NSObject,然后将其复制到阵列可以使用的另一个内存块中,以便我可以重新使用原始内存?

bbu*_*bum 7

简而言之,你没有.

如果要将对象放在数组中然后创建一个新对象,那就完全按照; addObject:数组和alloc/init新数组.

如果你问的是如何将一个对象复制到malloc()某个地方的某个随机块中 - 比如说,在一个数组的中间 - 那么这是一个非常不同的问题.它可以在技术上完成,但基本上没有人这样做,因为框架和运行时不是为此而设计的.

如果不了解您的具体需求,就无法详细了解.


Ste*_*ntz 7

制作对象的副本是通过向其发送copy消息来完成的.这仅适用于实现NSCopying协议的类的实例.

阅读实施副本以获得良好的概述.然后阅读实施NSCopying Considered Harmful以获取更多背景信息.