一: 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]; //我想过滤arrayContents的话只要循环 arrayFilter就好了 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]); }
二: NSArray *arrayFilter2 = [NSArray arrayWithObjects:@"abc1", @"abc2", nil]; NSArray *arrayContent2 = [NSArray arrayWithObjects:@"a1", @"abc1", @"abc4", @"abc2", nil]; NSPredicate *thePredicate2 = [NSPredicate predicateWithFormat:@"NOT (SELF in %@)", arrayFilter2]; NSLog(@"Filtered array with filter %@, %@", arrayFilter2, [arrayContent2 filteredArrayUsingPredicate:thePredicate2]);
本文介绍了如何使用NSPredicate在Objective-C中过滤数组元素,并通过循环遍历另一个数组来实现筛选。
338

被折叠的 条评论
为什么被折叠?



