gpt4 book ai didi

swift - 如何从 data core swift 4 中删除 tableview index.row

转载 作者:行者123 更新时间:2023-11-28 11:43:21 24 4
gpt4 key购买 nike

我创建了一个名为 Medications 的实体,添加新数据的函数是:

@objc func saveUserSettings() {

SVProgressHUD.show()

let name = medicationNameTextField.text
let dosage = dosageTextField.text
let frequency = medicationNameTextField.text
let reminder = dosageTextField.text

let medication = Medications(context: PersistenceService.context)
medication.name = name
medication.dosage = dosage
medication.frequency = frequency
medication.reminder = reminder

PersistenceService.saveContext()
self.meds.append(medication)

}

在表格 View 单元格中按下删除按钮时,如何删除这些索引之一?

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {

if editingStyle == .delete {

meds.remove(at: indexPath.row)

let task = meds[indexPath.row]

PersistenceService.saveContext()

self.tableView.reloadData()
}

}

有什么想法吗?

最佳答案

在这里从数组中删除

meds.remove(at: indexPath.row)

不会自动将其从 coreData 中删除,您需要使用

context.delete(object)

在保存上下文之前,请参阅此处 Swift 3 Core Data Delete Object

也要按照正确的顺序去做

let task = meds[indexPath.row]

context.delete(task) // access context anywhere but this statement should run

PersistenceService.saveContext()

meds.remove(at: indexPath.row)

关于swift - 如何从 data core swift 4 中删除 tableview index.row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53091737/

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