我在这里发现泄漏,这是在appDelegate.m
中写的-(NSMutableArray*)getSalutationList
{
NSMutableArray *list=[[NSMutableArray alloc]init];
[list addObject:@"Dr."];
[list addObject:@"Mr."];
[list addObject:@"Mrs."];
[list addObject:@"Miss."];
[list addObject:@"Ms."];
return list; //return [list autorelease]; if i keep this i am getting exception.
}
如何发布列表,我还需要从视图控制器调用的内容。
答案 0 :(得分:3)
您收到报告的泄漏,因为内存管理指南说您应该返回一个自动释放的对象。此外,除非您计划通过out参数提供数据,否则不应将方法名前缀为“get”。
所以你的方法应该是:
-(NSMutableArray*) salutationList {
NSMutableArray *list=[[NSMutableArray alloc]init];
[list addObject:@"Dr."];
[list addObject:@"Mr."];
[list addObject:@"Mrs."];
[list addObject:@"Miss."];
[list addObject:@"Ms."];
return [list autorelease];
}
如果你通过返回[list autorelease]
获得异常,那么你的问题就在其他地方(也许你不应该在其他地方释放数组?)。