我正在编写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
现在可以使用.