【发布时间】:2011-12-11 22:03:58
【问题描述】:
在我使用自动释放的大部分代码中,对象最终都是从函数返回的。显然,在这之后不能调用释放,而自动释放是要走的路。但是,在将对象传递给将保留它的另一个对象的情况下,使用自动释放是否同样有效?
例如
-(void)foo
{
SomeClass *someObject = [[[SomeClass alloc] init] autorelease];
//Do some things
self.someOtherClass.someProperty = someObject;
}
将对象分配给someProperty后释放它有什么实际区别:
-(void)foo
{
SomeClass *someObject = [[SomeClass alloc] init]];
//Do some things
self.someOtherClass.someProperty = someObject;
[someObject release];
}
有没有什么情况下后者比前者更可取?
【问题讨论】:
标签: ios objective-c memory-management autorelease