gpt4 book ai didi

swift - 在 swift 3 中创建复杂的 NSCompoundPredicate

转载 作者:可可西里 更新时间:2023-11-01 00:20:57 25 4
gpt4 key购买 nike

我想在 swift 3 中创建一个复杂的 NSCompoundPredicate,但是,我不知道该怎么做。

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

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 因为它的第二个参数获取它不需要的 NSPredicate 数组。什么是最佳解决方案?

最佳答案

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

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

关于swift - 在 swift 3 中创建复杂的 NSCompoundPredicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46388393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com