Я пытаюсь удалить строку в UITableView с помощью действия смахивания, но продолжаю получать следующую ошибку:
'NSInternalInconsistencyException', причина: 'попытка удалить строку 2 из раздела 1, который перед обновлением содержит только 2 строки '
Представление таблицы состоит из нескольких разделов.
Код ниже:
override func numberOfSections(in tableView: UITableView) -> Int {
return favouriteSubjectTitlesArray.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return favouriteCaseIDsBySubjectArray[section].count
}
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? {
if orientation == .left {
//Unfavourite the case
let unfavouriteAction = SwipeAction(style: .destructive, title: "Unfavourite") { action, indexPath in
self.favouriteCaseIDsBySubjectArray[self.selectedSubjectID].remove(at: indexPath.row)
DispatchQueue.main.async {
self.tableView.deleteRows(at: [indexPath], with: .automatic)
}
}
return [unfavouriteAction]
}
return nil
}
Есть идеи, где я ошибаюсь?