我很難弄清楚如何管理一個實例變量的內存,該實例變量需要保持一段時間的當前狀態,然後重新分配給新分配的內存。什麼是正確的方式來管理iPhone應用程序中的內存經常被重新分配到新分配的內存的實例變量?
看看下面的例子爲實例變量「importantData」:
-(void)Update
{
importantData = [[self getObject] retain];
}
- (SomeObject *)getObject
{
SomeObject *objInstance = [[SomeObject alloc] init];
[objInstance autorelease];
return objInstance;
}
在我的實際項目,那麼getObject方法是在不同的類,但我已經簡化它只是使對方瞭解我的觀點。在更新調用之間,importantData必須保持有效。
每次調用getObject時,我都會分配新的內存並將其分配給importantData,對嗎?我想我必須釋放重要數據之前指向的內存,對吧?我不知道如何在不泄漏內存或嘗試引用釋放內存的情況下正確執行此操作。謝謝!