У меня есть UITableView, отображающий базовый NSFetchedResultsController.
Когда обновляется fetchedResultsController, вызывается
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
.И выполняется следующее:
case NSFetchedResultsChangeInsert:
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:shiftedIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
cellForRowAtIndexPath вызывается только для новой строки (что логично)
Однако проблема заключается в том, что все значения отображаются в строках таблицы.вид смещен вниз.Первая строка отображает его заголовок.Во второй строке отображается заголовок первой строки.В третьей строке заголовок второй строки и т. Д. Если я повторю это, в третьей строке будет отображаться заголовок второй строки, в четвертой - заголовок третьей строки и т. Д.
Я не понимаю, что может произойти, особенно потому, что cellForRowAtIndexPathвызывается только для новой строки (что логично), а не для всех этих строк.Кроме того, если щелкнуть эти строки с неправильным заголовком, откроется нужный документ (didSelectRowAtIndexPath работает правильно с indexPath)
Любая подсказка, что может произойти?Спасибо!