Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Iphone 在特定级别计算PList键_Iphone_Objective C_Ios_Plist - Fatal编程技术网

Iphone 在特定级别计算PList键

Iphone 在特定级别计算PList键,iphone,objective-c,ios,plist,Iphone,Objective C,Ios,Plist,我试图创建一个分组的tableview,但是当涉及到节中的行数时,我无法获得正确的值。从下面的列表中,“OrdreLinje”、“OrdreStatus”和“Kundeleverance”是部分,下面的项目是用户可见的行。所以节中的行数分别是4,1,1,我的问题是如何计算这些键以产生正确的结果 根目录(Dict) -->行(数组) ---->项目0(Dict) ------>OrdreLinje(阵列) -------->项目0(Dict) -------->项目1(Dict) ------

我试图创建一个分组的tableview,但是当涉及到节中的行数时,我无法获得正确的值。从下面的列表中,“OrdreLinje”、“OrdreStatus”和“Kundeleverance”是部分,下面的项目是用户可见的行。所以节中的行数分别是4,1,1,我的问题是如何计算这些键以产生正确的结果

  • 根目录(Dict)
    • -->行(数组)
      • ---->项目0(Dict)
      • ------>OrdreLinje(阵列)
      • -------->项目0(Dict)
      • -------->项目1(Dict)
      • -------->项目2(Dict)
      • -------->项目3(Dict)
      • ------>kundeleverance(数组)
      • -------->项目0(Dict)
      • ------>OrdreStatus(数组)
      • -------->项目0(Dict)
  • 抱歉,我确实尝试插入图像,但信誉不够:)

    非常感谢您的帮助,
    B

    您需要行数组中第一个字典中的键的计数,还是行数组中所有字典中键的总和

    首先,您可以执行以下操作:

    NSArray *rows = [rootDict objectForKey:@"Rows"];
    NSInteger count = 0;
    if (rows.count > 0)
    {
        NSDictionary *firstRow = [rows objectAtIndex:0];
        count = firstRow.allKeys.count;
    }
    
    NSArray *rows = [rootDict objectForKey:@"Rows"];
    NSInteger count = 0;
    for (NSDictionary *dict in rows)
    {
        count += dict.allKeys.count;
    }
    
    如果需要行数组中所有字典中所有键的计数,可以执行以下操作:

    NSArray *rows = [rootDict objectForKey:@"Rows"];
    NSInteger count = 0;
    if (rows.count > 0)
    {
        NSDictionary *firstRow = [rows objectAtIndex:0];
        count = firstRow.allKeys.count;
    }
    
    NSArray *rows = [rootDict objectForKey:@"Rows"];
    NSInteger count = 0;
    for (NSDictionary *dict in rows)
    {
        count += dict.allKeys.count;
    }
    

    不完全是这样,粗体的行将是部分,这部分我做对了:)但这些下的项目是我需要计算的,以便指定部分中的行数。所以“Ordreinje”部分应该有4行。所以我只需要数“Ordreinje”下的键。我还应该提到,我称它们为键,因为它们位于plist中的keys字段中,很抱歉造成混淆:)