Вот так я удаляю ячейку:
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let deleteAction = UIContextualAction(style: .destructive, title: "del") { (deleteAction, view, completion) in
let zak = self.zakFRC.object(at: indexPath)
self.zakFRC.managedObjectContext.delete(zak)
do {
try self.zakFRC.managedObjectContext.save()
completion(true)
} catch {
print("delete failed: \(error)")
completion(false)
}
}
deleteAction.backgroundColor = .green
let del = UISwipeActionsConfiguration(actions: [deleteAction])
del.performsFirstActionWithFullSwipe = false
return del
}
И у меня есть case .delete (ну и остальные):
func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>, didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) {
switch type {
case .delete:
}
}
Я в него пытаюсь добавить:
if let indexPath = indexPath {
tableView.deleteRows(at: [indexPath], with: .fade)
}
И приложение крошится, пишет что-то типа того, что я уже удалила эту ячейку.
tableView.deleteRows(at: [indexPath], with: .fade) - мне нужен для того, чтобы была анимация удаления ячейки, а не просто исчезала мгновенно.
Подскажите, пожалуйста, можно ли как-то анимацию .fade сделать без использования tableView.deleteRows(at: [indexPath], with: .fade)
?