0

像这样的响应数组

 NewDataSet =     {
        Table =         (
                        {
                City =             {
                    text = "\nThiruvananthapuram";
                };
                Country =             {
                    text = "\n\nIndia";
                };
                text = "\n";
            },
                    {
                City =             {
                    text = "\nVellore";
                };
                Country =             {
                    text = "\n\nIndia";
                };
                text = "\n";
            }
        );
        text = "\n";

我已经写了这段代码..

xmlDictionary = [XMLReader dictionaryForXMLString:xmlResultString error:nil];

    NSLog(@"%@",xmlDictionary);



    NSLog(@"%@",xmlDictionary);

    NSArray * responseArr = xmlDictionary[@"NewDataSet"];

    NSLog(@"%@",responseArr);


    for(NSDictionary * dic in responseArr)
    {
        NSLog(@"%@",dic);

        //[array1 addObject:[dic valueForKey:@"City"]];

        [array1 addObject:[[dic valueForKey:@"City"] valueForKey:@"text"]];

    }

但没有得到数据。在数组 1 中。请提前帮我解决这个问题。

问题是我不会得到 NSDictionary 中的值。

错误日志是

此类不符合关键城市的关键值编码。

4

4 回答 4

0

我得到了我的解决方案问题是我不会得到直接的城市钥匙。因为城市钥匙在 NewDataSet & Table

所以首先你去 NewDataSet 然后是 Table 键,最后你得到 City 键。

现在从 Dictionary Like 中获取数组数据

NSArray * City=[[NSArray alloc]init];

City=[[[xmlDictionary valueForKey:@"NewDataSet"] valueForKey:@"Table"] valueForKey:@"City"];

NSLog(@"%@",City);

在密钥内传递多个密钥这是解决方案。

于 2013-10-04T05:26:39.220 回答
-1

看来您还没有在任何地方分配 array1,

您的解决方案在这里:

   array1 = [[NSMutableArray alloc]init];

   for(NSDictionary * dic in responseArr)
    {
        [array1 addObject:[dic valueForKey:@"City"]];
    }
    NSLog(@"array1 >> %@",array1);

如果您已经分配了 array1,那么请尝试记录[dic valueForKey:@"City"].

于 2013-10-03T12:38:40.700 回答
-1
        array1 = [[NSMutableArray alloc]init];
        for(NSDictionary * dic in responseArr)
        {

            [array1 addObject:[dic objectForKey:@"City"]];
        }

        NSLog(@"array1 >> %@",array1);

尝试这个

于 2013-10-03T12:40:52.650 回答
-1

试试这个代码...

   for(int i =0;i<[responseArr count];i++)
   {

     NSString *str = [[responseArr objectAtIndex:i] valueForKey:@"City"];
     [array1 addObject:str];
  }

让我知道它是否有效!

快乐编码!!!

于 2013-10-03T12:51:38.547 回答