簡體   English   中英

從領域對象中刪除引用

[英]Remove reference from realm object

我是 Realm 的新手。 接下來,我在 Realm 中掙扎於參考。

我使用 JavaScript 從 Realm 數據庫讀取數據並收到錯誤:“無法在寫入事務之外修改托管對象”每當我想更改某些內容時。

我知道出現錯誤是因為該對象仍在與 Realm DB 鏈接,我們必須打開一個事務來修改它。

有沒有辦法擺脫 Realm 中的引用? 我只想得到對象。

筆記:

我四處搜索,發現有一種方法可以使用:

JSON.parse(JSON.stringify(Object));

但是,它會改變對象內部所有Date類型的變量,我們稍后必須重新格式化它,這會導致很多工作。

您可能會尋找Realm.copyFromRealm(RealmObject)方法。

在文檔中,它說明如下:

從領域復制:

public <E extends RealmModel> E copyFromRealm(E realmObject)

制作一個已經持久化的 RealmObject 的非托管內存副本。 這是一個深層副本,將復制所有引用的對象。

但請記住,對托管 RealmObject 的此非托管副本的更改不會更新 RealmObject。 要將所有更改帶回 RealmObject,您必須通過 RealmTransaction 顯式執行此操作,您可以在其中更新 RealmObject。

此外,如果您選擇的對象當前由 Realm 管理,您可以使用RealmObject.isManaged()檢查。 如果沒有,則不需要創建非托管副本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM