2011-07-20 44 views
1

当您多次调用对象时,会发生什么?当你完成使用它时,放一次它可以吗?调用 - 在同一个对象上多次保留

+0

是什么让你问?您是否有这种情况,您认为多次拨打“保留”会有帮助? –

+0

[这个答案](http://stackoverflow.com/questions/2881880/objective-c-retain-counts-clarification/2884060#2884060)是可视化保留/释放模型如何工作的好方法。 –

+0

[调用 - 在同一对象上多次保留]的可能重复(http://stackoverflow.com/questions/7170930/calling-retain-multiple-times-on-the-same-object) –

回答

6

通常,您需要释放对象多次,因为它被保留 - 这就是为什么它被称为引用计数。指向您的对象的指针的持有者调用-retain以将其保存在内存中。一旦它的-release达到正确的次数,它将仅被重新分配。因此,保留它不是必要的,因此将内存分配超过其使用寿命 - 并被称为内存泄漏。 Xcode Instruments工具有一个内存泄漏分析工具。

这里是Memory Management

一个很好的说明我也同意@克里斯谁是this Answer上述评论描述如何保留/释放的作品非常好。

相关问题