任何人都可以帮助我理解此图片中的问题
答案 0 :(得分:4)
正如分析员所说,你是在 647 上分配 locs ,使用
NSMutableArray *locs = [[NSMutableArray alloc] init];
并且不会在块中稍后释放它。您应该发布它,或者您可以使用便利构造函数来获取这样的自动释放数组, NSMutableArray *locs = [NSMutableArray array];
我建议您仍然将代码简化为此,
NSMutableArray *annotations = (NSMutableArray *)[map annotations];
[annotations removeObject:[map userLocation]];
[map removeAnnotations:annotations];
答案 1 :(得分:1)
您需要在最后发布loc。你已经分配并初始化它,给它一个引用计数为1,然后你应该释放它以将引用计数更改为0.有关更多信息,请参阅http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/MemoryMgmt/。
答案 2 :(得分:0)
您已初始化locs数组,然后必须在关闭该函数之前释放该数组:[locs release];locs=nil;