一定期間現在の状態を維持する必要があるインスタンス変数のメモリを管理する方法を理解するのに苦労しています。その後、新しく割り当てられたメモリに再割り当てされます。
インスタンス変数「importantData」の次の例を見てください。
-(void)Update
{
importantData = [[self getObject] retain];
}
- (SomeObject *)getObject
{
SomeObject *objInstance = [[SomeObject alloc] init];
[objInstance autorelease];
return objInstance;
}
私の実際のプロジェクトでは、getObject プロシージャは別のクラスにありますが、要点を理解するために単純化しました。importantData は、Update の呼び出し間で有効である必要があります。
getObject が呼び出されるたびに、新しいメモリを割り当てて重要なデータに割り当てていますよね? 重要なデータが以前に指していたメモリを解放する必要があると思いますよね?メモリをリークしたり、割り当て解除されたメモリを参照しようとしたりせずに、これを適切に行う方法がわかりません。ありがとう!