【问题标题】:Create NSPredicate with ANY and two conditions for it使用 ANY 和两个条件创建 NSPredicate
【发布时间】:2021-06-25 07:48:55
【问题描述】:

我只有两个实体:ProductItem。产品可能有很多items:Set<Item>Item 有两个属性:isActiveidentifier

现在我需要获取至少有一个Item 同时满足以下条件的所有产品:

  • identifier IN %@ //["1", "2"]

  • isActive = true

      let format = "ANY (items.identifier IN %@ AND items.isActive = true)"
      let predicate = NSPredicate(format: format, ["1", "2"])
    

但我遇到了异常:Unable to parse the format ...

为什么?

【问题讨论】:

    标签: ios swift nspredicate


    【解决方案1】:

    你可以试试这个-

    let format = "SUBQUERY(items, $item, $item.identifier IN %@ AND $item.isActive = true).@count > 0"
    let predicate = NSPredicate(format: format, ["1", "2"])
    

    来源:NSPredicate Cheatsheet

    【讨论】:

    • 让我们现在试试吧;)
    猜你喜欢
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 2017-10-17
    相关资源
    最近更新 更多