당신이 초보자를 유지한다는 사실을하지 마십시오 : 여기
inputAlert.addAction(UIAlertAction(title: "Save", style: .default, handler: { (action:UIAlertAction) in
let taskTextField = inputAlert.textFields?.first
let descTextField = inputAlert.textFields?.last
if taskTextField?.text != "" && descTextField?.text != "" {
taskItem.task = taskTextField?.text
taskItem.desc = descTextField?.text
do {
try self.managedObjectContext.save()
self.loadData()
}catch {
print("Could not save data \(error.localizedDescription)")
}
}
내가 삭제를 위해 지금까지 가지고있는 코드입니다 : 여기
내 저장 데이터 코드 이 강력한 영구 저장소를 사용하지 못하게합니다. CoreData는 큰 주제이며, 책은 그것에 쓰여졌지만, 프로그래밍을 통해 프로그래밍의 핵심 개념을 이해하면 매우 효과적입니다.
UITableView
에 채워진 데이터를 제거한 다음 삭제 한 데이터를 CoreData에 저장하려고합니다. 단계를 무너 뜨리고 자신의 프로젝트에서 함께 작업 할 몇 가지 예를 들어 봅시다.
1)해야 당신이있어 UITableView
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()
}
}
// Assuming your task is of type "`Task`". You should put whatever data type your task object actually is.
func saveToCoreData(task: Task) {
// Insert Into CoreData (very important)
let managedObject = NSEntityDescription.insertNewObject(forEntityName: "RemovedTask", into: self.context)
// assign values
managedObject.value = task.value
// Save CoreData Context (also, very important)
do {
self.context.save()
}
catch {
print("Could not save CoreData!")
}
}
에서 삭제) 당신의
UITableView
의 데이터 소스2)
3 CoreData에
NSManagedObject
를 저장에서 행 데이터를 제거 모델에서 삭제하십시오! 예 : indexPath에서 현재 관리 객체를 가져 와서 관리 객체 컨텍스트를 호출하여 모델에서이 객체를 삭제하고이 변경 사항을 저장합니다. 그러면 네가 좋아질거야. 핵심 데이터를 처음 접한다면? 그것은 특히 UITableView – Mannopson