Ios 领域-筛选大于字符串属性的对象
我正在尝试从领域数据库中筛选对象。我有一个属性Ios 领域-筛选大于字符串属性的对象,ios,swift,realm,nspredicate,Ios,Swift,Realm,Nspredicate,我正在尝试从领域数据库中筛选对象。我有一个属性itemIdForDateOrder,它是字符串(看起来像这样:11e6-eef3-09306910-baa7-417b3207abf6),按此属性排序没有问题: realm.objects(ItemInfo.self).sorted(byKeyPath: "itemIdForDateOrder", ascending: false) 问题是,我正试图通过该属性过滤对象,并且我希望得到具有更大参数的对象 我的谓词的一部分: if let item
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使用属性时,比较对字符串类型有效。那么,有没有一种方法可以通过这个属性进行过滤呢?或者我必须获取所有对象,然后过滤它们(而不是通过领域谓词过滤器)。谢谢,正如错误所说,Realm的查询引擎目前不支持使用不等式过滤字符串属性。我建议请求添加此类支持,然后在领域外执行过滤(即,将对象收集到一个数组中,然后过滤该数组)。正如错误所述,领域的查询引擎目前不支持使用不等式过滤字符串属性。我建议请求添加此类支持,然后在领域外执行过滤(即,将对象收集到一个数组中,然后过滤该数组)。感谢anwer。我创建了在领域外进行过滤的解决方案。只是想知道是否有一种方法与领域。现在没有,所以我满足了增强请求。谢谢你的回复。我创建了在领域外进行过滤的解决方案。只是想知道是否有一种方法与领域。目前没有,所以我填写了增强请求。