如何释放必须从方法返回的已分配对象

时间:2012-02-22 15:17:49

标签: objective-c memory-management

-(NSArray*)getSomeStuff {
    NSMutableArray *array = [[NSMutableArray alloc]init];
    // Add some objects to array
    return array;
}

我分配了那个数组,所以我必须在某个时候释放它。但是,如果我需要它,我该如何释放它直到我返回它?

1 个答案:

答案 0 :(得分:5)

使用autorelease

return [array autorelease];

它将在稍后发布,但来电者可能会retain取得所有权。

或者,您可以使用array类方法:

-(NSArray*)getSomeStuff {
    NSMutableArray *array = [NSMutableArray array];
    //...
    return array;
}