使用领域过滤器对成员'=='进行模糊引用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用领域过滤器对成员'=='进行模糊引用相关的知识,希望对你有一定的参考价值。
do {
let result = try Realm().objects(Pros.self)
print(result)
let filterResult = result.filter({ $0.category.filter({$0.type_cat == ""})})
print(filterResult)
}
catch {
print(error)
}
它给我的错误是“对成员的不明确的引用'=='”所以我想补充一下
答案
我找到了解决方案,它的工作非常适合我
do {
let result = try Realm().objects(Pros.self)
print(result)
let predicate = NSPredicate(format: "SELF.type == %@ AND SELF.status == 'valide' AND ANY category.type_sector = %@ AND SELF.status == 'valide'", arrType[(selectedFromType?.row)!], arrTypeSector[(selectedFromSector?.row)!])
let arrFiltered = result.filter(predicate)
print(arrFiltered)
}
catch
{
print(error)
}
另一答案
基于Realm docs,过滤章节,尝试更改您的请求,如下所示:
let type = ""
let result = try Realm().objects(Pros.self).filter("category.type_cat == %@",type)
另一答案
Realm().objects(Pros.self)
将返回Result<Pros>
哪种领域数据。你的filter
函数语法是Swift的一个函数,不是Realm的函数。你应该在使用Result<Pros>
之前将[Pros]
转换为filter
:
let result = Array(try Realm().objects(Pros.self))
let filterResult = result.filter({ $0.category.filter({$0.type_cat == ""})})
或者你可以在Realm中使用filter
函数构建。请检查realm.io docs。
以上是关于使用领域过滤器对成员'=='进行模糊引用的主要内容,如果未能解决你的问题,请参考以下文章