您的位置:首页 > 移动开发 > IOS开发

iOS中NSArray的高级应用-过滤

2011-11-18 13:08 225 查看
NSArray可以用NSPredicate来过滤数组内容,代码:

//找出一个数组

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString *defaultPath = [[NSBundle mainBundle] resourcePath];

NSError *error;

NSArray *directoryContents = [fileManager contentsOfDirectoryAtPath:defaultPath error:&error]

//匹配字符串,反回结果, SELF==表示数组中每一个元素

NSString *match = @"imagexyz-999.png";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF == %@", match];

NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];

//近似匹配字符串,类似SQL中的语法

NSString *match = @"imagexyz*.png";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like %@", match];

NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];

//不区分大小写匹配

NSString *match = @"imagexyz*.png";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF like[cd] %@", match];

NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];

//正则匹配

NSString *match = @"imagexyz-//d{3}//.png";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];

NSArray *results = [directoryContents filteredArrayUsingPredicate:predicate];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: