I want to create a complicated NSCompoundPredicate in swift 3, however, I don't know how to do this.
Suppose I have 5 predicates (p1,p2,p3,p4,p5). I want to implement below conditions:
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 as it's second argument gets array of NSPredicates that it doesn't desire. What is the best solution?
NSCompoundPredicate
inherits fromNSPredicate
, therefore you can pass the compound predicates creates in the first steps as subpredicate to another compound predicate: