首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SWIFE3中创建复杂的NSCompoundPredicate

在SWIFE3中创建复杂的NSCompoundPredicate
EN

Stack Overflow用户
提问于 2017-09-24 09:02:12
回答 1查看 1.6K关注 0票数 5

我想要创建一个复杂的NSCompoundPredicate 3,然而,我不知道如何做到这一点。

假设我有5个谓词(p1、p2、p3、p4、p5)。我想实施以下条件:

代码语言:javascript
复制
compound1 = (p1 AND p2 AND p3) // NSCompoundPredicate(type: .and, 
                              //subpredicates: predicates)
compound2 = (p4 AND p5) // NSCompoundPredicate(type: .and, 
                       //subpredicates: predicates)
compound3 = (compound1 OR compound2) // problem is here

fetchRequest.predicate = compound3

NSCompoundPredicate作为第二个参数得到了它不想要的NSPredicates数组。什么是最好的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-24 09:52:31

NSCompoundPredicate继承自NSPredicate,因此可以将第一步创建的复合谓词作为子谓词传递给另一个复合谓词:

代码语言:javascript
复制
let compound1 = NSCompoundPredicate(type: .and, subpredicates: [p1, p2, p3])
let compound2 = NSCompoundPredicate(type: .and, subpredicates: [p4, p5])
let compound3 = NSCompoundPredicate(type: .or, subpredicates: [compound1, compound2])

fetchRequest.predicate = compound3
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46388393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档