Sample Code:
#import <Foundation/Foundation.h>
#import "Enum.h"
int main(int argc,const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//sample 1
NSArray * arrayFilter = [NSArray arrayWithObjects:@"pict",@"blackrain",@"ip", nil];
NSArray * arrayContents = [NSArray arrayWithObjects:@"I am a picture",@"I am a guy",@"I am gagaga",@"ipad",@"iphone" nil];
int i = 0, count = [arrayFilter count];
for(i = 0; i < count ; i++)
{
NSString * arrayItem = (NSString *)[arrayFilter objectAtIndex:i];
NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@",arrayItem];
NSLog(@"Filtered array with filter %@,%@",arrayItem,[arrayContents filteredArrayUsingPredicate:filterPredicate]);
}
//sample 2
arrayFilter = [NSArray arrayWithObjects:@"abc1",@"abc2", nil];
arrayContents = [NSArray arrayWithObjects:@"a1",@"abc1",@"abc4",@"abc2", nil];
NSPredicate * thePredicate = [NSPredicate predicateWithFormat:@"NOT (SELF in %@)",arrayFilter];
[arrayContents filteredArrayUsingPredicate:thePredicate];
//sample 3
NSFileManager * fileManager = [NSFileManager defaultManager];
NSString * defaultPath = [[NSBundle mainBundle] resourcePath];
NSError * error;
NSArray * directoryContents = [fileManager contentsOfDirectoryAtPath:defaultPath error:&error];
NSString * match = @"images-99.png";
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF==%@",match];
NSArray * results = [directoryContents filteredArrayUsingPredicate:predicate];
match = @"image-88*.png";
predicate = [NSPredicate predicateWithFormat:@"SELF like %@",match];
results = [directoryContents filteredArrayUsingPredicate:predicate];
match = @"imagexyz*.png";
predicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@",match];
results = [directoryContents filteredArrayUsingPredicate:predicate];
match = @"imagezyx-\\d{3}\\.png";
predicate = [NSPredicate predicateWithFormat:@"SELF matches %@",match];
results = [directoryContents filteredArrayUsingPredicate:predicate];
[pool drain];
return 0;
}