我无法弄清楚如何为需要在一段时间内保持其当前状态的实例变量管理内存,然后将其重新分配给新分配的内存。
以实例变量“importantData”为例:
-(void)Update
{
importantData = [[self getObject] retain];
}
- (SomeObject *)getObject
{
SomeObject *objInstance = [[SomeObject alloc] init];
[objInstance autorelease];
return objInstance;
}
在我的实际项目中,getObject 过程位于不同的类中,但我已对其进行了简化,以表达我的观点。importantData 必须在对 Update 的调用之间保持有效。
每次调用 getObject 时,我都会分配新内存并将其分配给重要数据,对吗?我想我必须释放重要数据之前指向的内存,对吧?我不确定如何在不泄漏内存或尝试引用已释放内存的情况下正确执行此操作。谢谢!