我正在完成我的应用程序并且是时候修复所有泄漏了,所以我使用了仪器。
这是代码和泄漏...
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
//NSString *responseString2 = [NSString stringWithFormat:@"%s%@%s", "[", responseString, "]"];
// Pour ajouter les [] si y'en a pas autour de tout le contenu JSON, et on doit utiliser responseString2 au lieu de responseString à la ligne ci-dessous
NSArray *tableau = [responseString JSONValue];
[responseString release];
NSDictionary *dico = [tableau objectAtIndex:0];
泄漏是responseString
但是我把这个值放入数组后释放它...我怎样才能删除泄漏?我不明白我的错误。
答案 0 :(得分:5)
泄漏显示泄漏的位置,而不是实际泄漏的地方;而不是造成问题的额外retain
。
使用Allocations工具跟踪对象上的所有保留/释放调用,并找到额外的保留。那将是你的泄密。
我对如何做Heapshot based analysis的解释应该对你有所帮助(因为它也可以用来跟踪这样的问题)。