【发布时间】:2009-03-28 03:13:00
【问题描述】:
假设我有这样的功能:
- (NSSet *) someFunction {
//code...
return [[[NSSet alloc] initWithObjets:obj1, obj2, nil] autorelease];
}
当我调用这个函数时,我需要保留/释放返回值吗?我假设我这样做了。
但是,如果我不做自动释放怎么办,所以 someFunction 现在看起来像这样:
- (NSSet *) someFunction {
//code...
return [[NSSet alloc] initWithObjets:obj1, obj2, nil];
}
在这种情况下,我假设我需要释放但不保留返回值。
我的问题是,对于这类情况,建议/最佳做法是什么?是否推荐使用 someFunction 的一个或另一个版本?谢谢。
【问题讨论】:
标签: objective-c memory-management