一个人必须盲目不看与上述问题的区别。
我有一个类似
的NSArray[
{
"NAME": "MyProduct1",
"UUID": 4
},
{
"NAME": "MyProduct2",
"UUID": 10
},
{
"NAME": "MyProduct3",
"UUID": 18
},
...
]
现在有了一个特定的ID号,我想得到一个只包含相关产品的字典。所以ID = 18就是:
{
"NAME": "MyProduct3",
"UUID": 18
}
我正在尝试找到一个优雅的解决方案,因为每个UUID在阵列中都是唯一的。
答案 0 :(得分:4)
您可以使用NSPredicate
NSArray *myArray = @[
@{
@"NAME": @"MyProduct1",
@"UUID": @4
},
@{
@"NAME": @"MyProduct2",
@"UUID": @10
},
@{
@"NAME": @"MyProduct3",
@"UUID": @18
}
];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UUID == 18"];
NSArray *filteredArray = [myArray filteredArrayUsingPredicate:predicate];
id firstFoundObject = filteredArray.firstObject;
NSLog(@"Result: %@", firstFoundObject);
结果:
2015-03-22 17:15:06.468 Untitled[23770:2311273] Result: {
NAME = MyProduct3;
UUID = 18;
}