我修改了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文件也有同样的错误。
答案 0 :(得分:0)
我忘了先关闭文档。记住孩子,在删除文件之前总是关闭文件...尤其是UIManagedDocument
s。