stringWithContentsofurl генерирует утечки - PullRequest
1 голос
/ 02 апреля 2010

я пытаюсь получить данные через

NSString * string = [NSString stringWithContentsOfURL: [NSURL URLWithString: url]];

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

Вот целый метод, который я использую:

- (NSMutableDictionary *) getOutputImagesData: (URLParserImagesData) data
{
    NSString *type = (data == URLParserImagesDataLatestImage) ? @"img" : @"size";

    NSString *url = [NSString stringWithFormat: @"%s%s%s", [URLParserSiteURLforCategories UTF8String], [URLParserType UTF8String], [type UTF8String]];

    //i get leaks here      
    NSString *string = [NSString stringWithContentsOfURL: [NSURL URLWithString: url]];
    NSArray *imagesTemp = [string componentsSeparatedByString: @","];
    NSMutableDictionary *outputImages = [NSMutableDictionary dictionary];
    for(NSString *img in imagesTemp)
    {
    NSArray *splitStrings = [img componentsSeparatedByString: @"="];

    if(data == URLParserImagesDataImagesCount)
    {
        NSNumber *integerValue = [NSNumber numberWithInt: [[splitStrings objectAtIndex:1] intValue]];
        [outputImages setObject: integerValue forKey: [splitStrings objectAtIndex:0]];
    }
    else
        [outputImages setObject: [splitStrings objectAtIndex:1] forKey: [splitStrings objectAtIndex:0]];
    }

    return outputImages;
}

Ответы [ 2 ]

0 голосов
/ 02 апреля 2010

stringWithContentsOfURL: равно устарело . Попробуйте использовать stringWithContentsOfURL:encoding:error: или stringWithContentsOfURL:usedEncoding:error: вместо.

0 голосов
/ 02 апреля 2010

В вашем коде нет ничего плохого.

...