-(NSMutableArray *)processResult:(NSArray*)matchArray
removeString:(NSString *)removeStr{
NSString *newLink;
NSMutableArray *result = [[NSMutableArray alloc] initWithCapacity:[matchArray count]];
//doing sth to result
return result;
}
在这种情况下,结果变量将返回给调用者。调用者将在应用程序的生命周期内使用此变量。有没有办法释放这个方法中创建的?
答案 0 :(得分:5)
使用memory management guide-lines,返回自动发布的实例:
NSMutableArray *result = [NSMutableArray arrayWithCapacity:[matchArray count]];
//doing sth to result
return result;
通过这种方式,来电者可以决定是否想要取得所有权。
根据指南,命名意味着该方法返回的内容:
- 您拥有自己创建的任何对象。
- 使用名称以“alloc”或“new”开头或包含“copy”的方法“创建”对象(例如,alloc,newObject或mutableCopy)。
对于您的方法名称,这不适用,因此应返回auto-released实例。