从字典数组创建值数组

时间:2012-09-09 18:43:55

标签: iphone objective-c ios

这个问题听起来很奇怪但是我得到了一系列字典作为解析结果。

这样的事情:

parsed content: (
        {
        "name" = "John";
        "lastname" = "Doe";
        "foo" = "bar";
    }

关于创建值数组的最佳方法的建议是什么?

3 个答案:

答案 0 :(得分:3)

喜欢这个吗?

- (void)flattenDictionary:(NSDictionary *)d intoKeys:(NSMutableArray *)keys andValues:(NSMutableArray *)values {

    for (id key in [d allKeys]) {
        [keys addObject:key];
        [values addObject:[d valueForKey:key]];
    }
}

- (void)flattenDictionaries:(NSArray *)arrayOfDictionaries {

    NSMutableArray *keys = [NSMutableArray array];
    NSMutableArray *values = [NSMutableArray array];

    for (NSDictionary *d in arrayOfDictionaries) {
        [self flattenDictionary intoKeys:keys andValues:values];
    }

    NSLog(@"now we have these values %@", values);
    NSLog(@"corresponding to these keys %@", keys);
}

答案 1 :(得分:2)

您可以使用以下内容获取值:

NSArray *values = dictionary.allValues;

或者,循环通过它:

[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id object, BOOL *stop) {
    NSLog(@"%@ = %@", key, object);
}];

答案 2 :(得分:1)

通过它们循环并创建一个数组。