删除和编辑按钮不会出现在UITableViewCell中

时间:2016-12-23 08:48:51

标签: swift core-data

我正在使用核心数据来保存任务列表的数据。输入的数据将被保存,但删除和编辑选项不会出现在所选的TableViewCell.I搜索中,但无法得到足够的答案。在这里,我给出了完整的代码。我在代码上的错误是什么......任何人都会帮助我?

application/config

1 个答案:

答案 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")
         }   
      }               
    }