簡體   English   中英

檢查領域對象是否有任何更改

[英]Check if there any changes to realm object

如果結果中的realmObject的值已更改,是否有辦法檢測它?

Account account = mRealmInstance.where(Account.class).equalTo("isLoggedIn", true).findFirst();

account.setName("New Name");

if(account.hasChanged()){ //Is there a realmMethod for this?

}

我認為這就是你要找的東西?

RealmChangeListener<Account> listener = new RealmChangeListener() {
    @Override
    public void onChange(Account account) {
        // changes have been made to Account table
    }
}

Account mAccount;

mAccount = mRealmInstance.where(Account.class).equalTo("isLoggedIn", true).findFirst();
if(mAccount != null) {
    mAccount.addChangeListener(listener);
    //assuming I'm in a transaction here
    mAccount.setName("New Name");
}

...

if(mAccount.isValid()) {
    mAccount.removeAllChangeListeners();
}

雖然我認為每當Account表發生更改時都會激活RealmChangeListener ,而不僅僅是在修改此特定對象時。

(編輯:因為Realm 3.1+領域對象監聽器也是細粒度的,因此僅在修改所選帳戶時才修改它)

暫無
暫無

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

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