如何从数据核心swift 4中删除tableview index.row
我创建了一个名为药物的实体,用于添加新数据的功能是:如何从数据核心swift 4中删除tableview index.row,swift,core-data,core,Swift,Core Data,Core,我创建了一个名为药物的实体,用于添加新数据的功能是: @objc func saveUserSettings() { SVProgressHUD.show() let name = medicationNameTextField.text let dosage = dosageTextField.text let frequency = medicationNameTextField.text let reminder = dosageTextFiel
@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)
}
当按下“表视图”单元格上的“删除”按钮时,如何删除其中一个索引
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)
在保存上下文之前,请参见此处
也要按正确的顺序做
let task = meds[indexPath.row]
context.delete(task) // access context anywhere but this statement should run
PersistenceService.saveContext()
meds.remove(at: indexPath.row)
在此处从数组中删除
meds.remove(at: indexPath.row)
不会自动将其从coreData中删除,您需要使用
context.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)
目标是什么?不明白这个物体是什么?不理解(对象)在本例中不使用
self.tableView.reloadData()
。使用self.tableView.deleteRows(位于:[indepath],带:.fade)
获得漂亮的单元格动画。在这种情况下,不要使用self.tableView.reloadData()
。使用self.tableView.deleteRows(位于:[indepath],带:.fade)
获得漂亮的单元格动画。