【发布时间】:2019-05-18 06:48:51
【问题描述】:
我正在阅读Delete/Reset all entries in Core Data?。
如果我按照以下步骤操作,我会得到意想不到的结果:
- 拨打下方代码
- 然后在模拟器中查询一个实体,我会取回一个实体!!!
- 如果我再次调用
clearCoreDataStore(或重新启动),则不会从 core-data 中检索该值
我错过了什么?
func clearCoreDataStore() {
let entities = dataManager.persistentContainer.managedObjectModel.entities
for entity in entities {
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: entity.name!)
let deleteReqest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do {
try context.execute(deleteReqest)
} catch {
print(error)
}
}
dataManager.saveContext()
}
【问题讨论】:
-
你在使用多个上下文吗?
-
这是一个虚拟应用程序。它是一个具有单个
persistentContainer属性的 viewController。所有操作都使用persistentContainer属性的上下文... -
我进行了编辑。我忘了做
saveContext。然而,如果我打电话给我的clearCoreDataStore并查询......我会得到一个结果。但是,如果我再次调用,则不会返回任何内容。不知道为什么我需要做两次...... -
我问过这个问题,但我改变了它,因为我想获得更多的上下文 b4 询问 xD ......无论如何.. 很高兴你发现了这个问题
标签: ios core-data nsmanagedobject nsmanagedobjectcontext nsbatchdeleterequest