- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 swift 2.1 和 CoreData,我想删除数据库中的所有数据。
按照下面的方式,效果很好
let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let request = NSFetchRequest(entityName: "UserCourse")
let arr = try! context.executeFetchRequest(request)
for item in arr{
context.deleteObject(item as! NSManagedObject)
try! context.save()
}
但我听说有更好的方法来做到这一点NSBatchDeleteRequest
这是代码
let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let model = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectModel
let delete = NSBatchDeleteRequest(fetchRequest: NSFetchRequest(entityName: "Data"))
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model)
try! coordinator.executeRequest(delete, withContext: context)
但它引发了一个错误说
2015-12-10 01:36:21.195 test[1090:40088] CoreData: error: Illegal attempt to save to a file that was never opened. "This NSPersistentStoreCoordinator has no persistent stores (unknown). It cannot perform a save operation.". No last error recorded.
2015-12-10 01:36:21.202 test[1090:40088] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores (unknown). It cannot perform a save operation.'
我想知道一定是model 或coordinator 有问题,但我不知道如何获得正确的coordinator例如,有人可以帮助我吗?
最佳答案
这一行:
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model)
创建一个新的 persistentStoreCoordinator
,与您的模型关联,但不将其链接到 persistentStore
。因此出现错误消息。
我怀疑实际上需要使用与您的上下文关联的现有 persistentStoreCoordinator
:
let coordinator = context.persistentStoreCoordinator
关于IOS - 如何使用 NSBatchDeleteRequest 清理数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34185598/
我正在编写一个 OS X 应用程序,它需要能够删除其核心数据存储中保存的所有“SongEntity”实例。但是,当我尝试执行 NSBatchDeleteRequest 时,我的应用程序崩溃,控制台输出
我有一个应用程序,它将与服务器同步,其中的数据每天都会更改。在同步期间,我删除了某些实体的所有数据并使用新数据重新加载。我正在使用以下代码: func SyncronizeUserCommen
我对 NSBatchDeleteRequest 有问题,似乎无法删除关系引用。 我有两个实体: 新闻 类别 其中一个类别可以有多个新闻。 现在,当我尝试使用 NSBatchDeleteRequest
我的 CoreData 模型有两个子实体“CarA”和“CarB”,它们具有相同的抽象父实体“Car”。 我正在尝试使用删除所有 CarA 对象 func deleteObjects(enti
我正在阅读 Delete/Reset all entries in Core Data? . 如果我按照以下步骤操作,我会得到意想不到的结果: 调用下面的代码 然后在模拟器中查询一个实体,我会得到一个
在我的应用程序中,当我从网络服务刷新实体的内容时,我删除了核心数据中的所有记录并插入了所有新记录。但是,很多时候记录并没有从上下文中删除,即使我再次调用上下文也是如此。因此,当我保存时,旧的仍然存在,
使用 swift 2.1 和 CoreData,我想删除数据库中的所有数据。 按照下面的方式,效果很好 let context = (UIApplication.sharedApplication()
我有以下代码。 let workorderFetchRequest = NSFetchRequest(entityName: "Workorders") let d
我在 Core Data 中看到过很多关于批量删除的问题,但似乎没有一个能解决我的问题。 我正在使用 Core Data 创建一个 iOS 9/Swift 应用程序。在今年的 WWDC 上,我参加了核
我正在尝试使用 NSBatchDeleteRequest 删除一堆实体,其中许多实体都有删除级联和/或无效规则。 我第一次尝试删除任何内容失败,并且返回的 NSError 包含字符串“批量删除不支持删
NSFetchRequest *request = [Report fetchRequest]; request.predicate = [NSPredicate predicateWithForma
如何使用带有 NSPredicate 的 NSBatchDeleteRequest 从 CoreData 中删除行。 我想删除超过 30 天的记录。 我不想获取内存中的所有数据,而是比较和删除,我想使
我在使用 NSBatchDeleteRequest 后从 NSFetchedResultsControllerDelegate 获取准确更新时遇到问题,更改作为更新类型而不是 didChange 委托
我目前正在对一个与 Core Data 交互的层进行单元测试。它保存、删除和更新 Item目的。但是,我的测试试图保存几个 Item s 然后执行批量删除一直失败。 这是Item : extensio
我有一些执行批量删除请求的核心: extension NSManagedObject: Clearable { /// Clears all objects of this type in c
我遇到了这个问题 'NSBatchDeleteRequest' is only available on iOS 9.0 or newer class func delete(placeId:Int6
所以,将我的代码迁移到 Swift 3 让我有点卡住了。似乎 NSBatchDeleteRequest 现在需要 iOS 10?我可以构建代码的唯一方法是使用以下代码片段: func removeAl
我是一名优秀的程序员,十分优秀!