【发布时间】:2011-04-21 23:22:11
【问题描述】:
场景 - 我有一个方法,它返回从 NSMutableArray 检索到的对象,类似于以下已简化的代码(假设“myArray”和“currentIndex”是该方法所在类的 iVar):
- (MyObject *)getFromArray
{
return [myArray objectAtIndex:currentIndex];
}
我应该像这样调用自动释放吗?
- (MyObject *)getFromArray
{
return [[myArray objectAtIndex:currentIndex] autorelease];
}
我知道数组在对象上调用 autorelease,因为它返回所述对象,但我的理解是 autoreleased 对象仅在调用者范围内有效,在本例中为上述方法。那么,添加自动释放(如上面第二个代码 sn-p 所示)是确保有问题的对象对我的方法的调用者有效的正确方法吗?只是想确保我对自动释放工作原理的推理和理解是正确的。
谢谢!
【问题讨论】:
标签: objective-c nsmutablearray autorelease