这肯定是一个非常基本的问题,但我一直在努力,仍然没有答案。
我有一个字典数组,每个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
答案 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];
你会没事的。