Утечка на NSString, который выпущен - PullRequest
1 голос
/ 24 августа 2011

Я заканчиваю свое приложение, и пришло время исправить все утечки, поэтому я использую инструменты.

Вот код и утечка ...

- (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, что утечки, НО я выпускаю это после помещения этого значения в массив ... Как я могу удалить утечку? Я не понимаю свою ошибку.

1 Ответ

5 голосов
/ 24 августа 2011

Утечки показывают вам, где была обнаружена утечка, а не там, где она была утечка;не дополнительные retain, вызывающие проблему.

Используйте инструмент Allocations для отслеживания всех вызовов удержания / разблокировки объекта и поиска дополнительного удержания.Это будет твоя утечка.

Мое объяснение того, как это сделать Анализ на основе «кучи» должен помочь вам (так как его можно использовать для отслеживания проблем точно так же, как это).

...