This isn’t really specific to NSPredicate… Whenever you have %@
in a format string, the corresponding value must be a pointer to an object, and BOOL doesn’t qualify. So instead of passing YES, pass [NSNumber numberWithBool: YES]
.
In newer versions of Xcode and the SDKs than when I originally wrote the answer, you can use @YES
instead of [NSNumber numberWithBool: YES]
.