我是新来的目标c,并试图了解如何/何时autorelease被称为。我理解的简单的例子:这个未来情况返回autorelease目标c中的错误?
- (void) foo {
Bar *b = [[[Bar alloc] init] autorelease];
[self doSomething:b];
}
什么 - 这是一个错误,因为该对象将在离开makeBar的范围立即释放?
-(Bar*) makeBar
{
return [[[Bar alloc] init] autorelease];
}
如果调用者做了保留怎么办?
Bar *b = [[self makeBar] retain];
感谢, -Eric
这个问题的内容和下面的两个答案应该在ObjC – ckhan