"执行 NSBatchDeleteRequest 时应用程序崩溃-6ren"> "执行 NSBatchDeleteRequest 时应用程序崩溃-我正在编写一个 OS X 应用程序,它需要能够删除其核心数据存储中保存的所有“SongEntity”实例。但是,当我尝试执行 NSBatchDeleteRequest 时,我的应用程序崩溃,控制台输出-6ren">
gpt4 book ai didi

swift - 使用 "Unknown Command Type "执行 NSBatchDeleteRequest 时应用程序崩溃

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:19 26 4
gpt4 key购买 nike

我正在编写一个 OS X 应用程序,它需要能够删除其核心数据存储中保存的所有“SongEntity”实例。但是,当我尝试执行 NSBatchDeleteRequest 时,我的应用程序崩溃,控制台输出如下(摘录):

Unknown command type (entity: SongEntity; predicate: ((null)); sortDescriptors: ((null)); type: NSManagedObjectIDResultType; ) >

这是我的实现:

func clearStore()
{
let fetchRequest = NSFetchRequest(entityName: "SongEntity")
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)

do
{
try managedObjectContext.executeRequest(deleteRequest)
}
catch
{
fatalError("Not able to perform operation: \(error)")
}
managedObjectContext.reset()
}

任何帮助将不胜感激

编辑:事实证明,这个问题与选择的商店类型有关:来自类 NSBatchDeleteRequest:

//  May not be supported by all store types.

我尝试将存储类型从 NSXMLStoreType(macOS 模板默认值)更改为 NSSQLiteStoreType,现在可以使用了。

最佳答案

我在持久存储中使用 NSInMemoryStoreType 时也遇到了这个问题。事实证明并非所有存储类型都支持批量删除,因此我不得不切换到使用获取请求并简单地遍历托管对象并将它们一一删除。

关于swift - 使用 "Unknown Command Type <NSBatchDeleteRequest,..>"执行 NSBatchDeleteRequest 时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com