NSFetchedResultsController: удаление 1 строки приводит к сбою приложения

Удаление строки из UITableView, передаваемого NSFetchedResultsController, приводит к сбою моего приложения.

Ошибка:

* Ошибка подтверждения в - [UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-2903.23/UITableView.m:1330*

 Завершение приложения из-за неисследованного исключения »NSInternalInconsistencyException»Причина:Неверное обновление: недопустимое количество строк в разделе 0. Количество строк, содержащихся в существующем разделе после обновления (1), должно быть равно количеству строк, содержащихся в этом разделе до обновления (1), плюс или минус число строк, вставленных или удаленных из этого раздела (0 вставлено, 1 удалено) и плюс или минус количество строк, перемещенных в или из этого раздела (0 перемещено, 0 удалено). '

Я хочу только, чтобы удалить. Мой код удаления выглядит так:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{  
    [self.tableView beginUpdates];  
    SequenceData *sd = [self.fetchedResultsController objectAtIndexPath:indexPath];  
    [self.managedObjectContext deleteObject:sd];  
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                          withRowAnimation:UITableViewRowAnimationFade];  
    [self.tableView endUpdates];  
}

Мой NSFetchedResultsController настроен так же, как в Ray Wanderlich 'учебник (http://www.raywenderlich.com/999/core-data-tutorial-for-ios-how-to-use-nsfetchedresultscontroller)

Количество рядов определяется по:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {    
    id sectionObjects = [[self.fetchedResultsController sections] objectAtIndex:section];  
    NSInteger nbObjects = [sectionObjects numberOfObjects];  
    return nbObjects;  
}

Похоже, что выборка не обновляется (количество строк не меняется). Должен ли я забрать себя (неt заботится контролером выборки)?

Очевидно, здесь есть что-то базовое, чего мне не хватает. Дон»стесняйтесь предлагать основные ответы.

Сначала я реализовал это с помощью контроллера: didChangeObject: ... метод. Ошибка была такой же, но некоторые детали отличались.

редактировать Я считаю, что моя проблема исправлена. Оба ответа (от CX и Martin) помогли мне найти его. Мартин получил ответ из-за объяснений, которые помогли мне немного лучше понять ...

Ответы на вопрос(2)

Ваш ответ на вопрос