我想从核心数据中删除之前保存的所有对象。我使用的是内存存储类型,因此 NSBatchDeleteRequest
不是一个选项。
我尝试在上下文中调用reset()
,但是它似乎没有执行任何操作。
我有以下代码:
viewContext.reset()
let fetchRequest: NSFetchRequest<CompactJobManaged> = CompactJobManaged.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "highlightedAt", ascending: false),
NSSortDescriptor(key: "uploadedAt", ascending: true)]
print(try! viewContext.fetch(fetchRequest).count)
我希望底部的 print
语句在调用 reset()
后打印出 0,但相反,它打印出先前已保存的对象数量,尽管调用reset()
之前。
我可能为此目的滥用了 reset()
函数,但我不知道有任何其他方法可以从内存存储中批量删除所有对象。
如有任何帮助,我们将不胜感激。
最佳答案
你有没有尝试过这样的事情:
do {
try persistentStoreCoordinator.destroyPersistentStoreAtURL(persistentStoreURL, withType: NSSQLiteStoreType, options: nil)
} catch {
// Error Handling
}
关于swift - 清除内存中存储类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54289451/