如何在Swift中删除实体核心数据中的所有条目?
我想要一个deleteAll()方法,以便我可以清除数据库。
这是我到目前为止所做的:
func deleteAllCoreData() {
let fetchRequest = NSFetchRequest(entityName: "DataPoint")
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do {
try coordinator.executeRequest(deleteRequest, withContext: managedContext)
} catch let error as NSError {
print("Could not fetch \(error), \(error.userInfo)")
}
}
但它有一个错误:
未知命令类型(实体:DataPoint;谓词: ((空值)); sortDescriptors:((null));类型: NSManagedObjectIDResultType; )>
答案 0 :(得分:1)
iOS 9添加了一个名为NSBatchDeleteRequest的新类,它允许您轻松删除与谓词匹配的对象,而无需将它们全部加载到内存中。以下是您如何使用它:
node.next = this;