Я загружаю данные из 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]];
Когда я профилирую свое приложение, происходит утечка памяти. Я не очень хорошо разбираюсь в использовании инструмента профиля, но, кажется, он находит утечки в моем словаре категорий каждый раз, когда я удаляю строку.
Интересно, где я что-то пропустил? Это проблема, что объект, который я удаляю, также является словарем, и мне тоже нужно удалить его объекты?