Ios 从NSDictionary中的键获取值
我正在使用EdmundsAPI返回特定年份的vehicle makes的JSON字符串 生成的NSDictionary如下所示:Ios 从NSDictionary中的键获取值,ios,objective-c,nsdictionary,Ios,Objective C,Nsdictionary,我正在使用EdmundsAPI返回特定年份的vehicle makes的JSON字符串 生成的NSDictionary如下所示: makes = ( { id = 200002038; models = ( { // not relevant } ); name = Acura;
makes = (
{
id = 200002038;
models = (
{ // not relevant
}
);
name = Acura;
niceName = acura;
},
{
id = 200001769;
models = (
{ // not relevant
}
);
name = "Aston Martin";
niceName = "aston-martin";
},
这本词典中有更多的值……我如何在词典中循环检索每个“name”值?我喜欢
valueForKeyPath
,因为你可以用它做很多事情,而且它是一个单行解决方案。经过测试,它在我的开发环境中运行。如果您知道数据的格式是可预测的,那么您可以使用valueForKeyPath
做一些令人惊奇的事情
NSMutableArray *makeNames = [NSMutableArray new];
for (NSDictionary *make in makes) {
NSLog(@"Make name: %@", make[@"name"]);
[makeNames addObject:make];
}
NSLog(@"Makes array: %@", makeNames);
NSArray*makeNames=[makevalueforkeypath:@“name”]代码>
有关valueForKeyPath的重要信息需要注意的是,Davids解决方案或多或少都是相同的,我在挖掘复杂的潜在不可预测数据集时通常会使用这些数据集,在这些数据集中,我希望检查值是否存在并执行特定的逻辑。研究其他valueForKeyPath选项,如@sum
或@avg