2011-07-15 47 views
0

我有一个对象的NSMutableArray(在我的例子中是一些系统)。我正在通过阅读XML来请求系统的新数据,并且我正在创建一些新的系统。在某些情况下,我想更新的系统在我的NSMutableArray,有时不.. 所以,当我想更新我说在将另一个对象分配给它的引用之前,是否需要释放我的实例对象?

system = [updatedSystem copy];

(我的系统模型实现- (id)copyWithZone: (NSZone *) zone

我的问题是,我是否需要在system = [updatedSystem copy];之前释放我的旧系统对象?

I.e. [system release];

system = [updatedSystem copy];

+0

为什么不使用的属性?它们封装了内存管理代码并减少了样板。 – albertamg

+0

由于我的系统模型有很多不同的属性,我需要进行深度复制。 –

回答

3

是,如果复制它,你必须release,使复制的对象不是从复印功能在返回之前释放。

+0

所以在使用= [object copy]时不会自动处理? –

+0

是的,你**有**释放复制的对象 – 2011-07-15 13:41:53

相关问题