Я загружаю данные из plist в таблицу в моем приложении. Данные хранятся в изменчивом словаре изменяемых словарей.
Вот мой метод viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Categories";
// load data from plist fle
self.categories = [[[NSMutableDictionary alloc] initWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"InventoryItems" ofType:@"plist"]] autorelease];
// add buttons to navigation menu
self.navigationItem.rightBarButtonItem = self.editButtonItem;
self.navigationItem.leftBarButtonItem = self.addButton;
}
Моя таблица доступна для редактирования, поэтому пользователь может удалять категории. В моем commitEditingStyle: forRowAtIndexPath: метод я обновляю свою модель данных:
[self.categories removeObjectForKey: [[self.categories allKeys] objectAtIndex:indexPath.row]];
При профилировании приложения происходит утечка памяти. Я не очень опытен в использовании инструмента профиля, но кажется, что я обнаруживаю утечки в моем словаре категорий каждый раз, когда я удаляю строку.
Интересно, где я что-то пропустил? Является ли проблемой то, что объект, который я удаляю, также является словарем, и мне тоже нужно удалить его объекты?