Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从数组中获取字典值_Ios_Objective C_Arrays_Dictionary - Fatal编程技术网

Ios 从数组中获取字典值

Ios 从数组中获取字典值,ios,objective-c,arrays,dictionary,Ios,Objective C,Arrays,Dictionary,这当然是一个相当基本的问题,但我一直在努力,仍然没有答案 我有一个字典数组,每个NSdictionary都有相同数量和类型的键值对,我想存储给定键的所有值(NSstring)(所有字典都有相同的键),但仍然没有运气 我最后想到的是: int i=0; while (i< dictArray.count) { [newArray addObject:[dictArray[i] objectForKey:@"keyName"]]; NSLog(@"%@"

这当然是一个相当基本的问题,但我一直在努力,仍然没有答案

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

我最后想到的是:

int i=0;
while (i< dictArray.count) {
            [newArray addObject:[dictArray[i] objectForKey:@"keyName"]];
        NSLog(@"%@",[dictArray[i] objectForKey:@"keyName"]);
        NSLog(@"%@",newArray);
        i++;
    }
inti=0;
而(i
在我放置用于调试的NSlog中,我可以看到[rows[i]objectForKey:@“keyName”]为“keyName”显示正确的NSstring值,但Newarray NSlog显示null,我做错了什么?有没有更好的方法来获得这个valúes?谢谢大家!


Pe:NeWayRE是一个NSUTAREARE

< P>我认为NeWRAIE是一个可变数组。你可以这样做:

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

迭代包含字典的数组

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

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

newArray = [[NSMutableArray alloc] init];

你会没事的。

你必须根据键值?用字典中的值创建一个数组,你应该使用键值。你是否已将newArray初始化为nsmutablearray?newArray=[NSMUtableArray];?是的,NewArray是一个NSMutableArray它是否已分配和初始化?newArray=[NSMUtableArray];?这是迄今为止最好的答案+1:)我看起来可能错了……但它不是缺少某个地方吗?我已经将我的newArray初始化为NSMutableArray,因为它是我类的一个属性,所以在循环开始之前,您已经将确切的行放在某个地方了?我想,作为一个属性,NSMutableArray已经分配并初始化了,我现在看到了我的错误,谢谢!