从Array获取字典值

时间:2014-03-20 12:49:47

标签: ios objective-c arrays dictionary

这肯定是一个非常基本的问题,但我一直在努力,仍然没有答案。

我有一个字典数组,每个NSdictionary都有相同数量和类型的键值对,我想存储给定键的所有值(NSstring)(所有字典都有相同的键)但仍然没有运气

我想出的最后一件事是:

int i=0;
while (i< dictArray.count) {
            [newArray addObject:[dictArray[i] objectForKey:@"keyName"]];
        NSLog(@"%@",[dictArray[i] objectForKey:@"keyName"]);
        NSLog(@"%@",newArray);
        i++;
    }

在我调试的NSlog中,我可以看到[rows [i] objectForKey:@“keyName”]为“keyName”显示正确的NSstring值,但是Newarray NSlog显示为null,我做错了什么?有没有更好的方法来获得这个价值?谢谢!

PD:newArray是一个NSMutaleArray

3 个答案:

答案 0 :(得分:1)

我认为newArray是一个可变阵列。你可以这样做:

 [dictArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
             [newArray addObject:[obj objectForKey:@"keyName"]];
        }];

答案 1 :(得分:0)

迭代具有词典的数组..

//Initialze the array
NSMutableArray *newArray = [[NSMutableArray alloc]init];
//For Loop
for (NSMutableDictionary *dict in dictArray) {
[newArray addObject:[dict objectForKey:@"keyName"]];
}

答案 2 :(得分:0)

您的newArray似乎是NSMutableArray个对象。您是否在newArray循环之前分配了while?如果不是,请在循环之前执行此操作

newArray = [[NSMutableArray alloc] init];

你会没事的。