title: IOS - Swift: OrPredicate in CloudKit results in invalid
body: <p>I have this bit to retrieve all messages between two users:</p>
  
  <pre><code>let user1 = "john"
  let user2 = "mark"
  let predicateUser1To2 = NSPredicate(format: "user1 == %@", user1)
  let predicateUser2From1 = NSPredicate(format: "user2 == %@", user2)
  
  let predicateUser2To1 = NSPredicate(format: "user2 == %@", user1)
  let predicateUser1From2 = NSPredicate(format: "user1 == %@", user2)
  
  let predicate1To2 = NSCompoundPredicate(andPredicateWithSubpredicates: [predicateUser1To2, predicateUser2From1])
  let predicate2To1 = NSCompoundPredicate(andPredicateWithSubpredicates: [predicateUser1From2, predicateUser2To1])
  let predicate = NSCompoundPredicate(orPredicateWithSubpredicates: [predicate1To2, predicate2To1])
  
  let query = CKQuery(recordType: "Chat", predicate: predicate)
  </code></pre>
  
  <p>But it throws the error below. It seems it got evaluated correctly, why is it wrong!?</p>
  
  <blockquote>
    <p>*** Terminating app due to uncaught exception 'CKException', reason:
    'Invalid predicate: (user1 == "john" AND user2 == "mark") OR (user1 ==
    "mark" AND user2 == "john") (Error Domain=CKErrorDomain Code=12
    "(user1 == "john" AND user2 == "mark") OR (user1 == "mark" AND user2
    == "john") is not a comparison predicate" UserInfo={NSLocalizedDescription=(user1 == "john" AND user2 == "mark")
    OR (user1 == "mark" AND user2 == "john") is not a comparison
    predicate, ck_isComparisonError=true})'</p>
  </blockquote>