我正在使用核心数据来保存任务列表的数据。输入的数据将被保存,但删除和编辑选项不会出现在所选的TableViewCell.I搜索中,但无法得到足够的答案。在这里,我给出了完整的代码。我在代码上的错误是什么......任何人都会帮助我?
application/config
答案 0 :(得分:1)
首先删除整个方法setEditing
。重新加载表格视图会隐藏编辑/删除按钮。
其次,您必须删除数据源数组中的对象,将其从托管对象上下文中删除,删除表视图中的行并保存上下文。 (这样做之后不要打电话给reloadData()
。)
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let objectToDelete = listItems[indexPath.row]
listItems.remove(at: indexPath.row)
managedContext.delete(objectToDelete)
tableView.deleteRows(at: [indexPath], with: .fade)
do {
try managedContext.save()
}
catch {
print("Error")
}
}
}