2

我的脑袋炸了!我想不出来。我是 iPhone 编程新手

我正在做 json 解析 ....in 将数据从 json 存储到 nsdictionary 但是.......我想将字典中的所有 nsdictionary 浮点值添加到数组中。这就是我现在正在做的事情。如下代码:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
  [connection release];

   NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
   self.responseData = nil;

   dict = [responseString JSONValue];

            NSMutableArray *array = [NSMutableArray array];
           for (NSString *key in [dict allKeys])
          {

               array = [dict objectForKey:key];
           // array return float values but
        [array addObject:array ];  // geting carsh dude to array return float values like 120.01  

}

请指导我,我没有得到我做错的部分。提前致谢。

4

2 回答 2

1

您的应用程序崩溃了,因为您正在向 中添加数据NSArray,这是静态数组,您无法在运行时添加值,因此只需NSMutableArray将数据添加到NSMutableArray.

于 2012-09-15T13:53:13.523 回答
0

您的代码在几个方面被破坏了。

此行将数组指针分配给字典中的对象:

array = [dict objectForKey:key];

然后您尝试将数组添加到自身,这没有意义。但更糟糕的是,由于array不再指向您,NSMutableArray您甚至无法调用该方法。

[array addObject:array ]; 

你可能想做这样的事情:

for (NSString *key in [dict allKeys])
{  
     id value = [dict objectForKey:key];              
     [array addObject:value];     
}
于 2012-09-15T13:13:12.250 回答