当实例方法返回一个使用便利构造函数初始化的值时,我是否需要保留该对象,然后在返回中自动释放,以便当便利构造函数的自动释放发生时,它不会删除该对象。
是否会在调用代码之前发布描述并通过保留或其他方式获取所有权?
- (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]];