方法在ARC下的iOS内存管理

时间:2014-05-14 18:07:43

标签: ios objective-c memory-management memory-leaks automatic-ref-counting

如果我继续调用此方法,会发生什么? (请不要评论代码,这只是一个思考的例子。)

-(NSMutableArray*)searchForItemsWithString:(NSString *)searchString
{
    NSString *baseUrl = @"http://www.myService.com/";

    NSURL *tempUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",baseUrl, searchString]];

    NSMutableArray *tempResultArray = [[NSMutableArray alloc ] initWithContentsOfURL:tempUrl];

    return tempResultArray;
}

tempResultArray会不断增加引用次数,还是ARC会在tempResultArray返回后执行魔术并释放它?

1 个答案:

答案 0 :(得分:1)

ARC 可能(请参阅评论)在autorelease之前对其进行tempResultArray调用。之后会发生什么事情取决于你的程序的其余部分。下次调用此方法时,将创建一个新的tempResultArray并重复该过程。