一定是瞎了眼,看不出与上述问题的区别。
我有一个像 NSArray
[
{
"NAME": "MyProduct1",
"UUID": 4
},
{
"NAME": "MyProduct2",
"UUID": 10
},
{
"NAME": "MyProduct3",
"UUID": 18
},
...
]
Run Code Online (Sandbox Code Playgroud)
现在有了一个特定的 ID 号,我想得到一个只包含相关产品的字典。因此,ID=18 将是:
{
"NAME": "MyProduct3",
"UUID": 18
}
Run Code Online (Sandbox Code Playgroud)
考虑到每个 UUID 在数组中都是唯一的,我试图找到一个优雅的解决方案。
你可以使用一个 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);
Run Code Online (Sandbox Code Playgroud)
结果:
2015-03-22 17:15:06.468 Untitled[23770:2311273] Result: {
NAME = MyProduct3;
UUID = 18;
}
Run Code Online (Sandbox Code Playgroud)
如此处所述: 如何在 NSSet 或 NSArray 中搜索具有特定属性的特定值的对象?
| 归档时间: |
|
| 查看次数: |
1991 次 |
| 最近记录: |