我的应用从REST API获取数据
根据端点,我得到完整或部分Account
的列表
当API响应时,我拨打realm.copyToRealmOrUpdate(accounts)
。
我的问题是,如果一个完整的account
已经存储在领域中并且相同的部分account
但relation_tx
,relation_rx
,message_last_rx
,{ {1}} message_last_tx
列在null
列表中,完整的accounts
完全覆盖。
我只想让领域更新不是account
的字段。
有什么建议?
我可以覆盖null
方法吗?
Account.update()
答案 0 :(得分:1)
我认为你必须手动比较。不要使用服务器中的内容调用realm.copyToRealmOrUpdate(accounts)
。
而是为服务器响应serverAccounts命名。对于其中的每个帐户:从Realm获取具有此ID的帐户(localAccount)。如果未找到(null):将serverAccount添加到DB。如果找到:在localAccount上手动更新您的四个字段,并将localAccount保存到数据库。
要优化上述内容,您可能希望使用id列表(来自serverAccounts)执行单个Realm查询,并将更改一次保存到Realm中。