У меня есть NSMutableDictionary в качестве источника данных для моего UITableView. Я пытаюсь реализовать режим удаления и возникла проблема.
Я регистрирую ключ, который пытаюсь удалить, а также объект, которому он соответствует, так как эта проблема может быть связана с моей попыткой доступа к нераспределенной памяти или чем-то еще. Вот моя реализация tableView: commitEditionStyle: forRowAtIndexPath:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source.
NSArray * keys = [userList allKeys];
NSNumber *keyToRemove = [keys objectAtIndex:indexPath.row];
NSLog(@"Key to remove: %@",keyToRemove);
NSLog(@"Object at key: %@",[userList objectForKey:keyToRemove]);
[userList removeObjectForKey:keyToRemove];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[keys release];
[keyToRemove release];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
}
}
Этот метод запускается, и тогда я получаю ошибку. Два оператора NSLog выводят правильный ключ и его соответствующее значение.
Может кто-нибудь сказать мне, что я делаю не так?
Спасибо