Что вызывает утечку в этом коде? Я действительно не могу этого понять. В строках: 1: NSMutableArray * days = [[NSMutableArray alloc] init]; 2: [dic setObject: days forKey: key]; 3: [days addObject: значение];Что вызывает утечку памяти?
Весь метод:
-(void) addValueToDictionary: (NSMutableDictionary *) dic withValue: (NSNumber *) value forKey: (NSString *) key {
NSMutableArray * days = [dic objectForKey:key];
if (days == nil) {
NSMutableArray * days = [[NSMutableArray alloc]init];
[days addObject:value];
[dic setObject:days forKey:key];
[days release];
days = nil;
}
else {
[days addObject:value];
}
}
BR // Кристоффер
Забудьте о сохранить счет. В лучшем случае это вводит в заблуждение. Вы должны использовать инструменты отладки памяти Apple и статический анализатор для выявления причин утечек. – JeremyP
Почему, на ваш взгляд, saveCount вводит в заблуждение? В какой-то момент, когда вы отлаживаетесь, если вы проверите то, что, по вашему мнению, будет иметь окончательный выпуск (о котором вы часто это понимаете) - keepCount должен быть один прямо перед ним. Если нет, вы, возможно, забыли релиз где-то в другом месте. –