gpt4 book ai didi

swift - 将已删除的行保存到核心数据错误 - Swift 3

转载 作者:行者123 更新时间:2023-11-28 10:57:31 25 4
gpt4 key购买 nike

我发布了一个与此类似的帖子,但我的问题只得到了一半的回答。我希望能够滑动以删除行,然后将该数据保存到我的 xcdatamodeld 文件中。我在 xcdatamodeld 中有一个名为 removeTask 的属性,但据我所知。任何帮助表示赞赏

//Removing Tasks
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCellEditingStyle.delete {

// 1)
let task = tasks.remove(at: indexPath.row)

// 2)
saveToCoreData(task: task)

// 3)
tableView.beginUpdates()
tableView.deleteRows(at: [indexPath], with: .fade)
tableView.endUpdates()
}
}



func saveToCoreData(task: Task) {

do {
try managedObjectContext.save()
} catch {
fatalError("Failure to save context: \(error)")
}
}

最佳答案

您必须删除核心数据堆栈中数据源数组中的对象:

// 1)
let task = tasks.remove(at: indexPath.row)
managedObjectContext.delete(task)

// 2)
saveToCoreData(task: task)

// 3)
tableView.deleteRows(at: [indexPath], with: .fade)

旁注:

    单个删除操作根本不需要
  • beginUpdates()/endUpdates()

关于swift - 将已删除的行保存到核心数据错误 - Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42446058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com