Я пытаюсь разобрать XML. У меня в основном есть NSMutableDictionary (скажем, root), элементами которого являются другие словари (например, branch_1, branch_2, branch_3 и т. Д.).
При анализе XML для каждой ветви я создаю NSMutableDictionary и добавляю в него элементы следующим образом:
if ([elementName compare:@"branch_1"] == NSOrderedSame)
{
[root setObject:[[NSMutableDictionary alloc] init] forKey:@"branch_1"]; //Creating a new NSMutableDictionary
}
//Adding elements to the newly created NSMutabeDictionary
if ([elementName compare:@"element_1"] == NSOrderedSame)
{
[[root objectForKey:@"branch_1"] setObject:someObject forKey:@"element_1"];
}
if ([elementName compare:@"element_2"] == NSOrderedSame)
{
[[root objectForKey:@"branch_1"] setObject:someObject forKey:@"element_2"];
}
Затем я наконец освобождаю свой корневой словарь в методе dealloc. Однако инструмент анализа в Xcode показывает утечку в строке, где я создал новые словари для branch_1 и т. Д.
Полагаю, мне следует выпустить словари веток перед тем, как выпустить корневой словарь. Однако не следует ли освобождать содержимое корневого словаря при освобождении самого корня?
Пожалуйста, дайте мне знать, как я могу исправить эту утечку. Любая помощь будет оценена !!