仅在设置中设置为ON的数组中search
我只需要在设置为ON的数组中进行search和过滤。
现在我循环所有数组的dict
:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"Name CONTAINS[cd] %@ OR Address CONTAINS[cd] %@", searchText, searchText]; searchResults = [NSMutableArray array]; for (NSString *akey in dict) { NSLog(@"%@", akey); NSArray *array = [dict objectForKey:akey]; NSArray *matches = [array filteredArrayUsingPredicate:resultPredicate]; if (matches.count > 0) { [searchResults addObjectsFromArray:matches]; } } }
NSLog(@“%@”,akey);
2013-05-01 11:34:07.256 testApp[5357:907] White 2013-05-01 11:34:07.262 testApp[5357:907] Yellow 2013-05-01 11:34:07.274 testApp[5357:907] Greenyellow 2013-05-01 11:34:07.275 testApp[5357:907] Darkblue 2013-05-01 11:34:07.277 testApp[5357:907] Green 2013-05-01 11:34:07.283 testApp[5357:907] Purple 2013-05-01 11:34:07.284 testApp[5357:907] Blue 2013-05-01 11:34:07.289 testApp[5357:907] Black 2013-05-01 11:34:07.291 testApp[5357:907] Red 2013-05-01 11:34:07.294 testApp[5357:907] Orange 2013-05-01 11:34:07.299 testApp[5357:907] BlueYellow 2013-05-01 11:34:07.305 testApp[5357:907] Brown 2013-05-01 11:34:07.308 testApp[5357:907] Rose 2013-05-01 11:34:07.312 testApp[5357:907] Gray
我有一个名为resultArray
的NSMutableArray
,它收集我在设置中设置为ON的数组
NSLog(@“%@”,resultArray);
2013-05-01 11:40:46.917 testApp[5378:907] ( Green, Orange, Blue )
如何仅在resultArray
search? 我试过了:
NSArray *array = [dict objectForKey:resultArray];
但没有成功。
这个工作只适用于一个数组:
NSArray *array = [dict objectForKey:@"Blue"];
我的数据结构是:
尝试
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"Name CONTAINS[cd] %@ OR Address CONTAINS[cd] %@", searchText, searchText]; searchResults = [NSMutableArray array]; for (NSString *akey in dict) { if ([resultsArray containsObject:aKey]) { NSArray *array = dict[akey]; NSArray *matches = [array filteredArrayUsingPredicate:resultPredicate]; if (matches.count > 0) { [searchResults addObjectsFromArray:matches]; } } } }