gpt4 book ai didi

android - 从 realm.io 中删除项目发生了什么? Realm 异常 "Removing object is not supported."?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:52 24 4
gpt4 key购买 nike

我正在尝试根据查询从 Realm.io 数据库中删除最后一个对象,如下所示:

    Realm realm = Realm.getInstance(this);
final RealmResults<RealmCustomLocation> databaseLocations = realm.where(RealmCustomLocation.class).findAllSorted("timeStamp", RealmResults.SORT_ORDER_DESCENDING);
if(databaseLocations.size() >= 4){
realm.beginTransaction();
databaseLocations.removeLast();
realm.commitTransaction();
}

这与 Realm.io instructions 上写的完全一样关于删除:

realm.beginTransaction();
result.removeLast();
realm.commitTransaction()

但是当我执行代码时,它总是因 RealmException 而中断

io.realm.exceptions.RealmException: Removing object is not supported.

然后我查看了 RealmResults.java 的源代码,发现: enter image description here所以难怪它一直崩溃,removeLast() 什么都不做,只会抛出一个错误!

所以我的问题是:我怎样才能从数据库中删除对象?!

我在 Android 上使用 realm.io 0.77(编译“io.realm:realm-android:0.77.0”)。

非常感谢您对此提供的帮助!

最佳答案

我已经联系了 Realm.io 支持,等待答复。与此同时:

RealmCustomLocation location = databaseLocations.get(databaseLocations.size() - 1);
location.removeFromRealm();

相当于

databaseLocations.removeLast()

所以它可以用作解决方法。

编辑:支持人员告诉我他们正在为 future 的版本修复它,并建议使用我同时发布的解决方法。

关于android - 从 realm.io 中删除项目发生了什么? Realm 异常 "Removing object is not supported."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com