更新克隆对象问题Realm.io

时间:2015-07-09 19:47:55

标签: ios objective-c realm

我已经克隆了一个带有主键的RealmObject,它已被创建好了,但是当我更新时 一个来自克隆对象的孩子,原来的孩子也更新了,我怎样才能更新克隆对象?

Model *originalModel =[[Model allObjects] firstObject]; //original model

Model *cloneModel = [[Model alloc] initWithValue:originalModel]; //clone model

RLMRealm *realm = [RLMRealm defaultRealm];


[realm beginWriteTransaction];
cloneActivity.uuid =  @"new uuid";

for (ScreenModel *page in cloneActivity.screens) {
 //this line is also updating the original object
page.execution_uuid = @"new uuid";

}
[ActivityTreeModel createInRealm:realm withValue:cloneModel];
[realm commitWriteTransaction];

当我做一个简单的更新所有" originalModel"孩子们也得到了更新

1 个答案:

答案 0 :(得分:0)

正如Realm's GitHub repo中提交的同一问题所述:

使用initWithValue:时,Realm还不支持创建链接对象的独立副本

我们目前正在处理此功能,此拉取请求已取得进展:https://github.com/realm/realm-cocoa/pull/2043

同时,您必须手动执行复制以创建链接对象的副本。

此外,由于没有必要对问题进行交叉发布。我们跟踪SO和GitHub问题。仅发布到一个地方使我们更容易快速回答!