我有这样的字典数组:
Array: (
{
customerUS= {
DisplayName = "level";
InternalName = "Number 2";
NumberValue = 1;
},
customerCAN= {
DisplayName = "PurchaseAmount";
InternalName = "Number 1";
NumberValue = 3500;
};
}
)
我想基于特定值而不是键来过滤字典。例如,我希望所有字典的值都在3500的任何键上。有没有人知道我该怎么做?
我真的很感谢你的帮助。
答案 0 :(得分:0)
尝试谓词格式:
@"%@ IN SELF", testValue
过滤数组时,每个数组都将针对IN
运行。当您传递IN
字典时,它会使用字典的值。
答案 1 :(得分: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
}
}