Is it possible to evaluate a NSPredicate on a NSArray, without having the NSPredicate starting to filter out objects in the array?
For instance, say I have the following predicate that just checks the number of objects in an array:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"count == 3"];
NSArray *list = [NSArray arrayWithObjects:@"uno", @"dos", @"volver", nil];
BOOL match = [pred evaluateWithObject:list];
This will crash, as pred will try to retrieve the "count" key from the first object in the array instead of the array itself.
Use the SIZE operator of NSPredicate which is equivalent to count method of NSArray.
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF[SIZE] == 3"];
NSArray *list = [NSArray arrayWithObjects:@"uno", @"dos", @"volver", nil];
BOOL match = [pred evaluateWithObject:list];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With