Crie NSCompoundPredicate complicado no swift 3

Eu quero criar um complicadoNSCompoundPredicate no swift 3, no entanto, não sei como fazer isso.

Suponha que eu tenha 5 predicados (p1, p2, p3, p4, p5). Quero implementar abaixo das condições:

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 como seu segundo argumento, obtém uma matriz de NSPredicates que não deseja. Qual é a melhor solução?

questionAnswers(1)

yourAnswerToTheQuestion