如何删除领域的前n行
问题描述:
假设有一个表RecentViewItem它存储用户最近查看的项目。我想通过删除所有其他项目只保留第一个10个最近查看的项目。我的查询是这样的:如何删除领域的前n行
RealmResults<RecentViewItem> results =
realm.where(RecentViewItem.class)
.findAllSorted("updatedAt", Sort.DESCENDING);
// What to do next ?
答
RealmResults<RecentViewItem> results = realm.where(RecentViewItem.class).findAllSorted("updatedAt", Sort.DESCENDING);
for(int i = 0, size = results.size(); i < 10 && i < size; i++) {
RecentViewItem recentViewItem = results.get(i);
recentViewItem.deleteFromRealm();
}
有关删除第一个1000或假设10^5行如何?其实我正在寻找没有循环的答案。 –
你不会找到一个loopless的答案,除非你有一个你可以更新的索引,你可以定义一个查询,通过这个索引你可以获得一个'RealmResults',你可以调用'deleteAllFromRealm()' – EpicPandaForce
我不明白你的想法确切地说,也许你想要一个只能得到前n行的列并调用deleteAllFromRealm()。如果你详细说明PLZ会更好。 –