从NSDictionary

时间:2015-10-12 23:56:24

标签: ios objective-c nsdictionary

我使用Edmunds API返回某一年的车辆制造的JSON字符串。

生成的NSDictionary如下所示:

 makes =     (
                {
            id = 200002038;
            models =   (
                { // not relevant
                }
            );
            name = Acura;
            niceName = acura;
        },
                {
            id = 200001769;
            models =             (
                { // not relevant
                }
            );
            name = "Aston Martin";
            niceName = "aston-martin";
        },

这本词典中有更多的值...我如何在字典中循环以检索每个'名称'值?

2 个答案:

答案 0 :(得分:2)

我喜欢valueForKeyPath,因为你可以用它来做很多事情,而且它是一个单线解决方案。经过测试,它可以在我的开发设置中使用。如果您知道您的数据采用可预测的格式,那么您可以使用valueForKeyPath来完成令人惊叹的事情。

NSArray *makeNames = [makes valueForKeyPath:@"name"];

有关valueForKeyPath http://nshipster.com/kvc-collection-operators/

的详细信息

答案 1 :(得分:0)

NSMutableArray *makeNames = [NSMutableArray new];
for (NSDictionary *make in makes) {
  NSLog(@"Make name: %@", make[@"name"]);
  [makeNames addObject:make];
}
NSLog(@"Makes array: %@", makeNames);