`NSCompoundPredicate` is a subclass of `NSPredicate` used to represent logical “gate” operations (AND/OR/NOT) and comparison operations.
Comparison operations are based on two expressions, as represented by instances of the NSExpression
class. Expressions are created for constant values, key paths, and so on.
In OS X v10.5 and later and in iOS, you can use NSCompoundPredicate
to create an AND or OR compound predicate (but not a NOT compound predicate) using an array with 0, 1, or more elements:
- An AND predicate with no subpredicates evaluates to TRUE.
- An OR predicate with no subpredicates evaluates to FALSE.
- A compound predicate with one or more subpredicates evaluates to the truth of its subpredicates.