我正在尝试从Realm数据库中过滤对象。我的属性itemIdForDateOrder
是字符串(看起来像这样:11e6-eef3-09306910-baa7-417b3207abf6
),我对按此属性排序没有问题:
realm.objects(ItemInfo.self).sorted(byKeyPath: "itemIdForDateOrder", ascending: false)
问题是我试图通过此属性过滤对象,并且我希望获得具有此参数的对象更大。
我的谓词的一部分:
if let item = newerThan {
formatString += " AND itemIdForDateOrder > '" + item.itemIdForDateOrder + "'"
}
但是当我使用它时,我得到了例外:
由于未捕获的异常而终止应用“无效的运算符类型”, 原因:'运营商'>'不支持字符串类型'
但是当我可以使用sort来使用我的属性时,比较适用于字符串类型。那么有什么方法可以过滤这个属性呢?或者我必须获取所有对象然后过滤它们(不是通过领域谓词过滤器)。感谢
答案 0 :(得分:0)
正如错误所说,Realm的查询引擎目前不支持使用不等式过滤字符串属性。我建议filing an enhancement request against Realm请求添加这样的支持,然后在Realm外部执行过滤(即,将对象收集到一个数组中,然后过滤数组)。