我正在制作一款 iPhone 游戏。我想释放所有已分配或保留的对象。在dealloc函数中,我释放了所有此类对象,但后来我意识到,有时我最终会在对象尚未分配时释放它们。所以我想在释放它之前我需要检查它的 retainCount
是否大于零。
我的问题是:
我是否只检查retainCount
是否大于零然后释放它?
if([bg retainCount]!=0)
{
[bg release];
}
或
我应该释放它的次数与它的retainCount
一样多吗
while([bg retainCount]!=0)
{
[bg release];
}
感谢您的帮助!
最佳答案
不要使用-retainCount。
对象的绝对保留计数是没有意义的。
您应该调用 release
的次数与导致对象被保留的次数完全相同。不能少(除非您喜欢泄漏),当然也不能多(除非您喜欢崩溃)。
请参阅Memory Management Guidelines了解完整详细信息。
关于iphone - 我要释放多少次已分配或保留的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730804/