0

我有这样的字典数组:

Array: (
 {
customerUS= {
 DisplayName = "level";
 InternalName = "Number 2";
 NumberValue = 1;
 },
 customerCAN= {
 DisplayName = "PurchaseAmount";
 InternalName = "Number 1";
 NumberValue = 3500;
 };
}
)

我想根据特定值而不是键来过滤字典。例如,我想要任何键值为 3500 的所有字典。有没有人知道我该怎么做?

我会非常感谢你的帮助。

4

2 回答 2

0

你也可以使用

-keysOfEntriesPassingTest:

NSDictionary。只需像这样传入一个块:

for(NSDictionary *myDictionary in myArray){ 
    NSSet *resultSet = [myDictionary keysOfEntriesPassingTest:^(id key, id object, BOOL *stop) {
        //assuming that 3500 is an int, otherwise use appropriate condition.
        if([[NSNumber numberWithInt:object] isEqual:[NSNumber numberWithInt:3500]]){
            return YES;
        }else{
            return NO;
        }
     }];
    if (resultSet.count>0){
        //do whatever to myDictionary
    }
}
于 2013-07-24T22:36:49.860 回答
0

尝试如下谓词格式:

@"%@ IN SELF", testValue

当您过滤数组时,每个数组都将针对IN. 当您传递IN字典时,它使用字典的值。

于 2013-07-24T21:59:26.987 回答