我在我的项目中使用领域,并在这里注册类别名称
我想把相同的类别列成一组,并在这个列表旁边写上组号。
这是我的领域数据库:
import RealmSwift
class CatList: Object {
@objc dynamic var catname: String = ""
}
我可以用这个代码列出数据:
let realm = try! Realm()
var Items: Results<CatList>?
override func viewDidLoad() {
super.viewDidLoad()
Items = realm.objects(CatList.self)
}
假设数据库中有5个类别
Green
黄色
红色
黄色
Green
我必须列出相同的类别一次,并在旁边打印总数。
所以应该是这样的;
Green 2
---------
Yellow 2
---------
Red 1
注意:为了提供帮助,我可以在android房间上这样做。@Query("Select id, catname, COUNT(catname) AS total FROM catlist GROUP BY catname ORDER BY total DESC")
抱歉,我英语不好。
1条答案
按热度按时间6l7fqoea1#
领域结果是同质的;它们将仅包含一种类型的数据。
因此,Realm查询将只返回一种类型的对象,因此您不能通过Realm查询同时直接提取类别名称和计数 *
但解决方法很简单捕获唯一的类别列表,遍历它们并输出每个类别的计数。
几点注意事项:此时,最好使用@Persisted转移到更现代的Realm实现
另外,为了可读性,因为对象不是列表,而是单个对象,CatList可能更适合命名为Category。