我正在尝试将两个Core Data sql存储合并在一起(iOS 9.3),而不必读取和复制源存储中的每个对象(涉及许多复杂的关系)。我应该可以使用NSMigrationManager执行此操作,如下所示:
try migrationManager.migrateStoreFromURL(sourceURL, type: NSSQLiteStoreType, options: nil, withMappingModel: map, toDestinationURL: destinationURL, destinationType: NSSQLiteStoreType, destinationOptions: nil)
然而,这给了我一个错误
Domain = NSCocoaErrorDomain Code = 134110“持久存储迁移期间发生错误。” reason =无法将源存储复制到目标存储路径{Error Domain = NSCocoaErrorDomain Code = 516“文件”Sample.sqlite“无法保存在”Documents“文件夹中,因为已存在同名文件。 }
这不应该发生。从NSMigrationManager的文档
如果目标网址上不存在商店,则会创建一个商店;否则,迁移将附加到现有商店。
然而,它似乎并不想追加。相反,它想要覆盖并失败。知道如何解决这个问题吗?