Iphone 在将另一个对象分配给实例对象之前,是否需要释放实例对象';谁的推荐信?
我有一个NSMutableArray对象(在我的例子中是一些系统)。我通过读取XML请求系统的新数据,并从中创建一些新系统。在某些情况下,我希望更新NSMutableArray中的系统,有时则不想。。 因此,当我想要更新时,我会说Iphone 在将另一个对象分配给实例对象之前,是否需要释放实例对象';谁的推荐信?,iphone,objective-c,Iphone,Objective C,我有一个NSMutableArray对象(在我的例子中是一些系统)。我通过读取XML请求系统的新数据,并从中创建一些新系统。在某些情况下,我希望更新NSMutableArray中的系统,有时则不想。。 因此,当我想要更新时,我会说 system=[updatedSystem copy] (我的系统模型已实现-(id)copyWithZone:(NSZone*)zone) 我的问题是,我是否需要在system=[updatedsystemcopy]之前释放我的旧系统对象 即。 [系统发布] sys
system=[updatedSystem copy]代码>
(我的系统模型已实现-(id)copyWithZone:(NSZone*)zone
)
我的问题是,我是否需要在system=[updatedsystemcopy]之前释放我的旧系统对象代码>
即。
[系统发布]代码>
system=[updatedSystem copy]代码>是如果复制了它,您必须释放
,因为复制的对象在从复制功能返回之前没有释放。是如果复制了它,您必须释放
,原因复制的对象在从复制函数返回之前不会被释放。规则是,无论何时使用init、new或copy,您都拥有释放的所有权。如果你复制了它,你有责任发布它
请参阅Apple的以下文章:规则是,无论何时使用init、new或copy,您都拥有发布的所有权。如果你复制了它,你有责任发布它
请参阅Apple的以下文章:因此,在使用=[object copy]时它不会自动处理?是的,您必须释放复制的对象,因此在使用=[object copy]时它不会自动处理?是的,您必须释放复制的对象为什么不使用属性?它们封装了内存管理代码并简化了样板文件。因为我的系统模型有很多不同的属性,所以我需要进行深度复制。为什么不使用属性呢?它们封装了内存管理代码并简化了样板文件。因为我的系统模型有很多不同的属性,所以我需要进行深度复制。