Ios 使用核心数据删除可滑动的TableView单元格

Ios 使用核心数据删除可滑动的TableView单元格,ios,swift,uitableview,core-data,xcode9.3,Ios,Swift,Uitableview,Core Data,Xcode9.3,因此,我可以添加任务并在我的应用程序中保留这些任务。现在我想做的是能够删除任务并保留我删除的内容。我正在使用可滑动单元格可可盒,以便允许用户向左滑动并删除项目。然而,我下面的代码似乎没有按我希望的方式运行。首先,滑动手势不起作用,其次,如果我有“task1”、“task2”、“task3”,我不能删除任务3,但我可以删除任务1,然后我可以删除任务3。此外,有时我删除的项目会被持久化,有时则不会。下面是我的代码,非常感谢您的帮助 class DailyTasksTableViewControlle

因此,我可以添加任务并在我的应用程序中保留这些任务。现在我想做的是能够删除任务并保留我删除的内容。我正在使用可滑动单元格可可盒,以便允许用户向左滑动并删除项目。然而,我下面的代码似乎没有按我希望的方式运行。首先,滑动手势不起作用,其次,如果我有“task1”、“task2”、“task3”,我不能删除任务3,但我可以删除任务1,然后我可以删除任务3。此外,有时我删除的项目会被持久化,有时则不会。下面是我的代码,非常感谢您的帮助

class DailyTasksTableViewController: UITableViewController {

//Variables
var tasksArray = [Task]()
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
.....

extension DailyTasksTableViewController: SwipeTableViewCellDelegate {
    func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? {
        guard orientation == .right else { return nil }

    let deleteAction = SwipeAction(style: .destructive, title: "Delete") { action, indexPath in
        self.context.delete(self.tasksArray[indexPath.row])
        self.tasksArray.remove(at: indexPath.row)

        do {
            try self.context.save() 
        }catch{
            print("error saving delete \(error)")
        }
    }

    // customize the action appearance
    deleteAction.image = UIImage(named: "delete-icon")

    return [deleteAction]
}

func tableView(_ tableView: UITableView, editActionsOptionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> SwipeOptions {
    var options = SwipeOptions()
    options.expansionStyle = .destructive
    return options
}

}
“首先,刷卡手势不起作用”

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    return true
}