【发布时间】:2015-01-18 13:58:10
【问题描述】:
我正在尝试根据查询从 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 的源代码,发现: 所以难怪老是崩溃,removeLast() 什么都不做,只会抛出一个错误!
所以我的问题是:我怎样才能从数据库中删除一个对象?!
我在 Android 上使用 realm.io 0.77(编译 'io.realm:realm-android:0.77.0')。
感谢您在这方面的帮助!
【问题讨论】: