Ios 从NSDictionary中的键获取值

Ios 从NSDictionary中的键获取值,ios,objective-c,nsdictionary,Ios,Objective C,Nsdictionary,我正在使用EdmundsAPI返回特定年份的vehicle makes的JSON字符串 生成的NSDictionary如下所示: makes = ( { id = 200002038; models = ( { // not relevant } ); name = Acura;

我正在使用EdmundsAPI返回特定年份的vehicle makes的JSON字符串

生成的NSDictionary如下所示:

 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