【发布时间】:2009-08-12 14:54:56
【问题描述】:
当实例方法返回一个使用便利构造函数初始化的值时,我是否需要保留该对象,然后在返回中自动释放,以便在便利构造函数的自动释放发生时,它不会删除该对象。
此版本描述是否会在调用代码之前并通过保留或其他方式取得所有权?
- (NSStringMutable *)test {
NSMutableString *description = [NSMutableString stringWithString:@"Test Value"];
return description;
}
还是应该这样?
- (NSStringMutable *)test {
NSMutableString *description = [NSMutableString stringWithString:@"Test Value"];
[description retain];
return [description autorelease];
}
调用代码:
NSMutableString *testVar = [[NSMutableString alloc] initWithString:[object description]];
【问题讨论】:
标签: objective-c memory-management initialization return-value autorelease