无法使用NSFileCoordinator删除UIManagedDocument

时间:2016-02-11 20:58:41

标签: ios core-data icloud uimanageddocument nsfilecoordinator

我修改了Apple的Lister示例,以便使用UIManagedDocument代替UIDocument。一切都有效,除了删除文件。当我尝试使用ListUtilites.swift removeListAtURL方法中使用Apple代码删除文档时使用NSFileCoordinator我在列出的文档消失后收到此错误消息,然后重新出现在模拟器:

CoreData: error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///Users/.../AppGroup/E16FD6E8-8AD6-44BB-A031-5FB497F04FD4/Documents/myList.list/StoreContent/persistentStore options:{
    NSPersistentStoreRemoveStoreOnCleanupKey = 1;
} ... returned error Error Domain=NSCocoaErrorDomain Code=134080 "(null)" UserInfo={NSUnderlyingException=Can't add the same store twice} with userInfo dictionary {
    NSUnderlyingException = "Can't add the same store twice";

"不能两次添加同一商店"因为我删除了文件,所以错误对我没有任何意义。也许我需要先关闭文件?该文件是本地的,而不是在iCloud中,因此我认为我不需要删除任何事务日志。此外,当我删除NSFileCoordinator代码时,只需用户NSFileManager就可以正常工作,它可以正常使用本地文件,但我对iCloud文件也有同样的错误。

1 个答案:

答案 0 :(得分:0)

我忘了先关闭文档。记住孩子,在删除文件之前总是关闭文件...尤其是UIManagedDocument s。