如果我继续调用此方法,内存方面会发生什么情况? (请不要注释代码,这只是一个思想示例。)
-(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
返回后施展魔法并释放它?
最佳答案
ARC 将 可能(见评论)在返回之前对tempResultArray
进行autorelease
调用。之后会发生什么取决于您程序的其余部分。下次调用此方法时,将创建一个新的 tempResultArray
并重复该过程。
关于ios - ARC下iOS内存管理方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23661973/