IOS TableViewController: попытка выполнить вставку и перемещение по одному и тому же пути индексаIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 IOS TableViewController: попытка выполнить вставку и перемещение по одному и тому же пути индекса

Сообщение Гость »

При получении события перемещения от моего NSFetchedResultsControllerDelegate я получаю следующее исключение:

controllerDidChangeContent:. попытайтесь выполнить вставку и перемещение по одному и тому же индексному пути

Код: Выделить всё

extension MyViewController : NSFetchedResultsControllerDelegate {
func controllerWillChangeContent(_ controller: NSFetchedResultsController) {
tableView.beginUpdates()
}

func controller(_ controller: NSFetchedResultsController, didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {
switch type {
case .insert:
guard let newIndexPath else { return }
tableView.insertRows(at: [newIndexPath], with: .fade)
case .delete:
guard let indexPath else { return }
tableView.deleteRows(at: [indexPath], with: .fade)
case .update:
guard let indexPath else { return }
tableView.reloadRows(at: [indexPath], with: .fade)
case .move:
guard let indexPath, let newIndexPath else { return }
tableView.moveRow(at: indexPath, to: newIndexPath)
@unknown default:
print("...")
}
}

func controllerDidChangeContent(_ controller: NSFetchedResultsController) {
tableView.endUpdates()
}
}
В предыдущих версиях iOS об этом было много сообщений, но ничего свежего. Это также шаблонный код, предоставленный Apple для обработки событий вставки/обновления/перемещения. Должен ли я действительно проверять, совпадают ли пути к индексу at/to? Или это указывает на проблему где-то еще?

Подробнее здесь: https://stackoverflow.com/questions/781 ... e-same-ind
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»