使用领域过滤器对成员'=='进行模糊引用

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。

以上是关于使用领域过滤器对成员'=='进行模糊引用的主要内容,如果未能解决你的问题,请参考以下文章

由 '' in 'abc' return True 引发的思考----Python 成员测试操作

vue.js 过滤器

VUE-02

Pandas过滤-filter函数,query函数的使用

awk '!arr[$0]++'对文件进行处理

python中如何对类的成员函数开启线程?