0
我一直在試圖刪除一個NSManagedObject。 這是我的代碼:刪除一個NSManagedObject
let app = UIApplication.shared.delegate as! AppDelegate
let context = app.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "MyEnt")
request.predicate = NSPredicate(format: "SELF = %@", EnttoDelete.objectID)
request.returnsObjectsAsFaults = false
do {
let results = try context.fetch(request)
if results.count > 0 {
for result in results as! [NSManagedObject] {
print ("Ent found")
context.delete(result)
do {
try context.save()
} catch {
print("failed to delete")
}
}
}
} catch {
print ("Error in do")
}
}
擁有你看,我有去Entitie也被刪除(EnttoDelete),併爲此它的ID(EnttoDelete.objectID)。 現在我已經研究過即使在stackoverflow,我認爲這應該工作。但事實並非如此。 如何刪除所需的實體?
什麼不工作? 「結果」是否有任何內容?如果不是,那麼你的請求和/或謂詞就有問題。 – Koen
是的。我做了與其他實體完全相同的事情,它的工作。區別在於我使用了一個屬性而不是objectID。在這種情況下,它不起作用....但是使用我複製下來的代碼,它可以工作... –
您也可以嘗試'existingObjectWithID'來獲取具有特定ID的消息,然後將其刪除。 – Koen