Ios 如何在Realm.io(objective-c)中克隆主键为主键的对象
我有一个对象模型,有一个主键,我想用另一个主键克隆这个对象,但realm.io说“这个对象已经存在” 主键与第一个对象不同Ios 如何在Realm.io(objective-c)中克隆主键为主键的对象,ios,objective-c,realm,Ios,Objective C,Realm,我有一个对象模型,有一个主键,我想用另一个主键克隆这个对象,但realm.io说“这个对象已经存在” 主键与第一个对象不同 RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; ActivityTreeModel *originalActivity = [ActivityTreeModel objectForPrimaryKey:activityUuid]; ActivityTreeM
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
ActivityTreeModel *originalActivity = [ActivityTreeModel objectForPrimaryKey:activityUuid];
ActivityTreeModel *cloneActivity = originalActivity;
NSString *primaryKey = [NSString stringWithFormat:@"%@+%@",[originalActivity uuid], executionUuid ];
@try {
cloneActivity.uuid = primaryKey;
cloneActivity.execution_uuid = executionUuid;
}
@catch (NSException *exception) {
NSLog(@"error de realm %@",exception);
}
@finally {
}
[ActivityTreeModel createOrUpdateInRealm:realm withValue:cloneActivity];
[realm commitWriteTransaction];
有什么想法吗?创建一个新的
ActivityTreeModel
对象:[[ActivityTreeModel alloc]init]
,然后将它的所有属性设置为要复制的属性,但主键不同。但我必须执行cloneActivity=originalActivity;因为我希望与原始活动相同,但有一个新的主键,或者我必须从原始活动中逐个设置所有属性?克隆活动=原始活动是否正常工作;根据您的答案,使用新主键创建新对象!