я загружаю данные просмотра таблицы из области
let tasks = realmManager.objects(ModelTask.self).filter("planId == %@", currentPlan.id)
datasource = Array(tasks)
tableViewMain.reloadData()
и удаляем элемент, когда пользователь нажимает удалить в табличном представлении
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let delete = UITableViewRowAction(style: .normal, title: "删除".localized) {
[weak self] action, index in
guard let `self` = self else {return}
let task = self.datasource[indexPath.row]
let realm = try! Realm()
try? realm.write {
realm.delete(task)
}
self.datasource.remove(at: indexPath.row)
tableView.reloadData()
}
delete.backgroundColor = UIColor(hex:"fe5d5c")
return [delete]
}
и он потерпел крах, когда область удалила этот элемент.
Я получил сообщение об ошибке: «Объект был удален или признан недействительным.»
Я запутался, это отлично работает на другом контроллере представления.
почему бы не работать здесь?
Редактировать ----------
решил эту проблему.
потому что после удаления этого элемента у меня есть функция журнала, которая использовала этот элемент.
вот почему он всегда падает.
спасибо всем