ios - 使用 NSPredicate 过滤 NSDictionary 中的值并返回键数组

标签 ios objective-c nspredicate

我有一个包含字符串值和 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/

相关文章:

objective-c - 连接到服务器

ios - NSPredicate swift2 的最长时间

ios - NSSPredicate 变量匹配 - Objective c

iOS - 不确定如何正确更新 iOS 7 的 cocoapods 配置

ios - 在 Xcode 日志旁边显示行号

ios - NMANavigationManagerDelegate 在 HERE Map iOS SDK 中不起作用

Swift - 使用 UISearchController 和 NSPredicate 以及结构数组进行搜索

ios - 创建一个随机音频声音发生器

ios - UISearchBar iOS 8的说明

ios - 为什么将其[__NSCFString objectAtIndex:]:无法识别的选择器发送到实例?