NSMutableDictionary *subDict = [[NSMutableDictionary alloc] init];
subDict = [dict objectForKey:Nazov];
2-й оператор переопределяет уже выделенный subDict.Это вызывает утечку памяти.Тогда, поскольку у вас нет [dict objectForKey:Nazov]
, -release
, это вызывает ошибку освобождения.
Вы можете просто написать
NSDictionary* subDict = [dict objectForKey:Nazov];
и не-release
это так как ты не владелец.([dict release]
все еще необходим, поскольку вы - тот, кто +alloc
это.)
Если вы не меняете коллекцию, предпочтите неизменяемый (NSDictionary) вместо изменяемого (NSMutableDictionary).