我在我的应用程序中实现了类似的东西,我从 2 个数据库加载数据,因为我想将更新推送到一组数据。
我这样做的方式是使用 1 个对象模型、1 个托管对象上下文但 2 个持久存储,每个存储都加载不同的 sqlite 文件。为此,我在数据模型文件中创建了 2 个配置,然后将适当的实体拖到每个配置中。然后,当您创建持久存储时,请执行以下操作:
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:@"Configuration1" URL:store1URL options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil] error:&error];
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:@"Configuration2" URL:store2URL options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil] error:&error];
到目前为止,我发现的唯一问题是您不能在商店之间建立关系。这个答案显示了如何使用获取的属性来复制关系。
希望这可以帮助。