Predicate,又一次看到了。从c++转过来的时候就开始关注它是否支持c++的STL和predicate。看到都是支持的。谁让他们都是C的超集呢。
可以参照:
演示下代码。
NSMutableArray *array =
[NSMutableArray arrayWithObjects:@"Miguel", @"Ben", @"Adam", @"Melissa", nil];
NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'a'"];
NSArray *beginWithB = [array filteredArrayUsingPredicate:bPredicate];
// beginWithB contains { @"Adam" }.
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] 'e'"];
[array filterUsingPredicate:sPredicate];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@",
[NSArray arrayWithObjects:@"Stig", @"Shaffiq", @"Chris", nil]];
BOOL result = [predicate evaluateWithObject:@"Shaffiq"];
关于正泽表达式可以参照类