将自动释放的对象更改为非自动

时间:2011-07-03 02:56:18

标签: objective-c xcode memory-management autorelease nsautoreleasepool

有没有办法将自动释放的对象更改为非自动释放的对象?

NSCoder的decodeObjectForKey返回一个自动释放的对象,它在我的应用程序中与几个内存系统混淆。如何将其返回值更改为非自动释放的对象?

我知道我可以保留它,但是如果我发布它,它仍将保持自动释放。然而,我想自己管理记忆。

1 个答案:

答案 0 :(得分:3)

在检索自动释放对象之前设置自动释放池。它将在 自动释放池中。保留对象。现在释放自动释放池。您的对象不再位于自动释放池中。它被保留了,现在你有责任发布它。