Утечка памяти в NSData ... указывает на NSConcreteData! - PullRequest
0 голосов
/ 01 июля 2011

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

- (NSMutableDictionary *)loadImageDataGroup:(NSUInteger)index {

int lim = 5;
int sta = 0;
if (index > lim) {
    sta = index-lim;
}
int fin = (((lim*2)+1)+sta);
if (fin > [self imageCount]) {
    sta = ([self imageCount]-((lim*2)-1));
    fin = [self imageCount];
}

BOOL firstTime = NO;
if ([imagesLoaded count] == 0) {
    firstTime = YES;
}

NSMutableDictionary *tempDict = [[[NSMutableDictionary alloc] init] autorelease];

for (int i = sta; i < fin; i++) {

    NSString *imageName = [self imageNameAtIndex:i];

    if ([imagesLoaded valueForKey:imageName] == nil) {

        // This is the Memory Leak...at least that is where Leaks is pointing me.
        NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageName]];
        [tempDict setObject:imageData forKey:imageName];

    } else {
        [tempDict setObject:[imagesLoaded valueForKey:imageName] forKey:imageName];
    }

}

return tempDict;

}

Утечка находится в пятне NSData = * imageData, и когда я подтягиваю ее, она указывает на NSConcreteData.

1 Ответ

0 голосов
/ 01 июля 2011

Глядя на ваш код, я не вижу ничего явно неправильного.Помните, что инструменты могут давать ложные срабатывания.

См. Следующее:

Приборы с ложной утечкой?

...