嵌套for循环处理nsdictionaries的nsarray

时间:2014-11-15 21:51:09

标签: ios objective-c arrays uitableview dictionary

我目前远离计算机,但有脑电波。我正在尝试a-z索引我的表视图。 我的plist被读入一个数组 - 所以是一个字典数组。每个字典代表一个单元格,有两个键 - 单词和定义。 我需要查看单词'第一个字母,如果唯一则放置为键,然后添加与该字母对应的确定的离子。我有这个代码。 如何遍历数组中的每个字典,并访问每个字典单词键? 我可以:

   for (nsdictionary *dict in plistContentsArray){ 
    for (NSString *key in dict){
      NSstring *key = [dict objectforkey: @"Word"]; 
      \\code for sections
       Then use addobject:dict }}

如果这是一个糟糕的代码我很道歉 - 作为一个新手的乐趣。 我有计划用于切片的代码,但我不知道如何访问数组中的每个单独的字典,只使用一个键(单词)的部分代码,但将整个字典对象添加到部分数组,以便我可以使用详细视图的定义键。

谢谢

2 个答案:

答案 0 :(得分:1)

您不需要嵌套循环。你有一个字典数组,你想要字典中特定键的值。只是做:

for (NSDictionary *dict in plistContentsArray) {
    NSString *word = dict[@"Word"];
    // code for sections
}

答案 1 :(得分:-1)

更改(字典中的NSString *键){

to for([dict allKeys]中的NSString *键){

如果您只想要所有按键的NSArray

NSMutableArray *keys = [[NSMutableArray alloc] init];

for (NSDictionary *dict in plistContentsArray){
    [keys addObjectsFromArray:[dict allKeys]];
}