NSDictionary的关联快速查找作为NSArray的元素

时间:2013-07-30 12:55:57

标签: ios nsarray

假设我有一个NSDictionary的NSMutableArray(每行都是字典):

     key count type
 0    1   1     Apple
 1    1   2     Banana
 2    2   1     Pear
 3    3   4     Ananas

假设我会找到关键字1的所有结果。简单而粗野的方法是枚举NSMutableArray并只找到那些具有key = 1的NSDictionary。 有更好或更聪明的方式吗? (数据来自SQL查询)。

2 个答案:

答案 0 :(得分:3)

您可以尝试使用filteredArrayUsingPredicate:的{​​{1}}方法:

NSArray

// Supposing originalArray is an NSArray holding the NSDictionaries that represent the fruits NSArray *filteredArray = [originalArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"key == %@", @1]]; 现在将以filteredArray作为关键字保存所有词典。

答案 1 :(得分:0)

NSArray *data = [NSArray arrayWithObject:[NSMutableDictionary dictionaryWithObject:@"1" forKey:@"YourKey"]];
    NSArray *filtered = [data filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(YourKey == %@)", @"1"]];

    NSLog(@"%@",filtered);

尝试这个可能对你有所帮助..