Ошибка при удалении из управляемого UITableView NSFetchedResultsController за пределами табличного представления - PullRequest
0 голосов
/ 27 ноября 2009

Я пытаюсь удалить объект, управляемый NSFetchedResultsController, в UITableView - и я пытаюсь сделать это из отдельного представления с помощью кнопок добавления / удаления. Однако кажется, что контроллер и таблица выходят из строя, когда я переключаюсь между представлениями, и я не могу понять, почему. Вот ошибка, которую я получаю - к сожалению, это не всегда происходит в зависимости от того, какой путь я иду через приложение:

Серьезная ошибка приложения. Исключительная ситуация при обработке изменения базовых данных: *** - [NSCFArray removeObjectAtIndex:]: index (6) за пределами (6) с userInfo (null)

Я вижу, как мои методы-делегаты вызываются правильно, а код удаления очень прост, и я не вижу там никаких ошибок.

Буду очень признателен за любые мысли / советы по отладке.

Ответы [ 2 ]

1 голос
/ 09 февраля 2010

Я столкнулся с подобной проблемой. Единственное решение, которое я нашел до сих пор, это повторно извлечь NSFetchedResultsController:

if (![[self resultsController] performFetch:&error]) {
   NSLog(@"%@:%s Error refreshing the fetch controller %@", [self class], _cmd, 
      [error localizedDescription]);
   NSAssert(NO, @"Failed to refresh the fetch controller");
}
0 голосов
/ 09 января 2016

Я не уверен, что у нас была такая же проблема, но моя проблема была решена с помощью следующего:

(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return self.fetchedResultsController.sections.count;}

(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [self.fetchedResultsController sections][section];
return [sectionInfo numberOfObjects];}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...