2017-10-06 51 views
0

我在插入realmlist內的對象時遇到了問題。它在Realm中複製我的對象,並且它們具有相同的主鍵。RealmList addAll使用相同的主鍵複製對象

class ParentObj extends RealmObject { 
    RealmList<SomeObject> objects; 
} 

class SomeObject extends RealmObject { 
    @PrimaryKey 
    @Required 
    String id; 
    ... 
} 

時,我得到的SomeObject像一個列表:

List<SomeObject> objs = ...; 
User.getObjects().addAll(objs); 

我RealmList(objects)被複制。我確定它是同一個主鍵。 任何人都有什麼想法發生?
謝謝!

回答

1

RealmList的工作原理與ArrayList相似,因此同一個項目可以多次出現。如果你想更新SomeObject你應該直接做到這一點。 RealmList將反映這些變化。

目前尚不清楚你想要做什麼,所以從給定的信息很難給出更多的建議。

+0

我得到我的web服務的所有對象,並更新我的本地對象插入到我的realmlist。我期望在做這件事時不要複製它們。否則,我將不得不始終搜索我的對象,並在每次進行Web服務調用時更新它們中的每一個。 –

+0

您不需要操作'objects'數組來更新'SomeObject',直接搜索並更新'SomeObject'。這些更改將反映在'objects'數組中。 –

+0

如果我正確理解,我可以在列表objs中做一個Realm.copyToRealmOrUpdate,這些更改將反映在我的'objects'中。那是對的嗎? –

相關問題