我發佈了一個類似的帖子,但我的問題有一半的答案。我希望能夠刷卡刪除行,然後將該數據保存到我的xcdatamodeld文件。我在xcdatamodeld中有一個名爲removeTask的屬性,但是就我而言。任何幫助表示讚賞保存已刪除的行核心數據錯誤 - Swift 3
//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)")
}
}
嗨,我修改了我的_saveToCoreData_,但是當我刪除該行後,它會在我切換視圖後回來,然後回到主視圖。有任何想法嗎? @ystack –
@LukeRoberts確保使用最新更改更新用於填充表的數組(或字典)。基本上,在滑動刪除並保存到上下文後,您還需要執行數據庫獲取請求以獲取最新內容。這個獲取請求應該用來更新表使用的數組。 – ystack
我有點不確定如何做到這一點...我會更新問題。對不起@ystack –