0
我有這個簡單的代碼來保存coredata中的對象。 在我的xcatamodel中,我設置了一個約束爲「firstName」: Picture。 刪除「學生」實體中的所有條目後,代碼工作正常。 但只有一次。 當我第二次保存相同的設置時,我會收到「致命錯誤」。Coredata:約束中的錯誤
func saveStudent() {
let student: Student = NSEntityDescription.insertNewObject(forEntityName: "Student", into: DatabaseController.getContext()) as! Student
student.firstName = "henry"
student.lastName = "miller"
student.age = 22
DatabaseController.saveContext()
let fetchRequest: NSFetchRequest<Student> = Student.fetchRequest()
do {
let searchResults = try DatabaseController.getContext().fetch(fetchRequest)
print("number of results: \(searchResults.count)")
for result in searchResults as [Student] {
print("\(result.firstName) \(result.lastName) \(result.age)")
}
} catch {
print ("error: \(error)")
}
}
據我所知,約束條件是爲了識別潛在的dublicate。 任何一個想法如何解決這個問題? 這裏的錯誤:Picture 對於任何幫助,提前致謝。
這就是爲什麼它是給錯誤:防止重複的創建。 –
你知道如何將此功能更改爲更新功能嗎?如果沒有添加新條目,如果是,則取消條目。 –
你必須做一個檢索並檢查它是否已經存在。如果它更新,如果它沒有,然後創建。沒有快速上升。 –