我有一个带饮料的本地数据库(Realm)。每种饮料都有一个名字。
我希望以某封信开头所有的饮料。
这就是我提出的:
let objects = realm.objects(Drank.self)
.filter{($0.name.characters.first)?.description == section}
我现在遇到的问题是我得到的对象类型是'LazyFilterBidirectionalCollection'。但我需要结果。
有人知道将其转换为正确类型的方法,或者可能采用不同的方式来过滤结果集吗?
答案 0 :(得分:4)
这直接来自关于排序/过滤的领域文档:
let sortedDogs = realm.objects(Dog.self).filter("color = 'tan' AND name BEGINSWITH 'B'").sorted(byProperty: "name")
所以过滤你正在寻找的东西可能是这样的:
let objects = realm.objects(Drank.self)
.filter("name BEGINSWITH '\(column)'")
Thomas Goyne提出的更安全的选择,
let objects = realm.objects(Drank.self)
.filter("name BEGINSWITH %@", column)
由于您现在使用文档使用的方式过滤数据,因此您应该收到结果对象
不要害怕阅读文档,不仅能让您满意地自己解决问题,还会在此过程中学到很多其他的东西。