当前位置:  开发笔记 > 数据库 > 正文

使用"未知命令类型<NSBatchDeleteRequest,..>"执行NSBatchDeleteRequest时应用程序崩溃

如何解决《使用"未知命令类型<NSBatchDeleteRequest,..>"执行NSBatchDeleteRequest时应用程序崩溃》经验,为你挑选了0个好方法。

我正在编写OS X应用程序,它需要能够删除其Core Data存储中保存的所有"SongEntity"实例.但是,当我尝试执行NSBatchDeleteRequest时,我的应用程序崩溃,使用以下控制台输出(摘录):

未知命令类型(实体:SongEntity;谓词:((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现在可以使用.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有