如果我創建一個核心數據對象,然後決定放棄更改而不是保存它,我該如何實現?據我所知,這兩種下列方法工作:核心數據刪除與重置
// 1
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let object = CoreDataObject(context: managedObjectContext)
...
managedObjectContext.reset()
// 2.
let managedObjectContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let object = CoreDataObject(context: managedObjectContext)
...
managedObjectContext.delete(object)
哪一個我應該選擇?
看看這個答案:https://stackoverflow.com/a/32210346/4468859 –
根據Apple Docs,reset()是將上下文返回到它的基本狀態。 「所有接收者的被管理對象都被」遺忘「了。如果你使用這種方法,你應該確保你也放棄了對使用接收者獲取的任何被管理對象的引用,因爲之後它們將會失效。 – Lawliet
你想要什麼?刪除特定數據或刪除每個數據? – Roy