我有一个包含字符串值和 int 键的字典。
即
{1,abc}
{2,bcd}
{3,cde}
我使用 NSPredicate 如下过滤它
NSMutableDictionary *tableDataSearch;
NSArray *searchResults;
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self contains[cd] %@", searchText];
searchResults = [[tableDataSearch allValues] filteredArrayUsingPredicate:resultPredicate];
它向我返回包含特定单词的值数组。我希望所有键都返回到数组中,并像现在正在搜索的那样搜索值。 有什么帮助吗?
最佳答案
假设您有一组字典 myArrayOfDict。和字典有不同的键。这将为您提供所有字典,其中任何值都包含您的字符串:
NSMutableArray* myArrayOfDict = [@[@{@"key1":@"value1"} , @{@"key2": @"value2"}]mutableCopy];
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"ANY SELF.@allValues contains[cd] %@", @"lue1"];
NSArray *searchResults = [myArrayOfDict filteredArrayUsingPredicate:resultPredicate]; // will get the 2nd diction
关于ios - 使用 NSPredicate 过滤 NSDictionary 中的值并返回键数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551499/