NSPredicate with Multiple Condition - 根据第一个条件执行第二个条件

时间:2016-11-13 17:49:17

标签: objective-c nspredicate

我需要从Core数据中获取数据,为此,我需要使用 NSPredicate 检查Condition1和Condition 2。 但是一旦条件1满足,我只需要检查条件2。 有人请帮我实现这个场景吗?

逻辑

If (Condition1 == true)
{
     if(Condition2 == True)
        {
         }
    else
       {
      //Code
       }
}
else
{
//codes
}

请使用 NSPredicate 帮助我实现此方案。

1 个答案:

答案 0 :(得分:1)

只需在谓词格式字符串中使用AND表达式即可。 NSPredicate将这些视为短路运营商。这来自Predicate Programming Guide: Using Predicates – Performance Considerations部分的建议隐含着这一点:

  

您应该构造复合谓词以最小化数量   完成工作。特别是正则表达式匹配是昂贵的   操作。因此,在复合谓词中,您应该执行   正则表达式之前的简单测试[...]:

     

在[...]示例中,仅在OR] 之后评估正则表达式   第一个条款是假的

(强调补充)