目前,我有两种不同的商店配置:
A:客户端设备的本地
B:客户端设备本地并与iCloud同步
在我的应用程序的下一个版本中,我想将配置A中的一些实体合并到配置B中。
我无法找到任何有用的信息来执行此操作而不会丢失用户数据。 我会尝试给你一些更多细节:
让我们说这些是我配置的模式:
Configuration A entities:
- Entity_1
- Entity_2
- Entity_3
Configuration B entities:
- Entity_4
我想最终得到这个单一的配置:
Configuration A entities:
- Entity_1
- Entity_2
- Entity_3
- Entity_4
我用来初始化商店的当前代码是下一个:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
// Define the stores URLS
NSURL *store_A_URL = [[self databaseFolder] URLByAppendingPathComponent:@"StoreA.sqlite"];
NSURL *store_B_URL = [[self databaseFolder] URLByAppendingPathComponent:@"StoreB.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
// iCloud sync store config
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:@"Config_A"
URL:store_A_URL
options:@{NSPersistentStoreUbiquitousContentNameKey:@"Store"}
error:&error]) {
/// Error management
}
// Local only store config
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:@"Config_B"
URL:store_B_URL
options:0
error:&error]) {
/// Error management
}
return _persistentStoreCoordinator;
}
我的问题是:"如何执行store_B实体的迁移以包含到store_A中,从而自动与iCloud同步?"
编辑:
我想知道是否将NSPersistentStoreUbiquitousContentNameKey选项添加到" Store B"足以让它在iCloud上同步...留下2种不同的配置...... 你觉得怎么样?