如何将NSDictionary中的Key float值添加到NSarray?

时间:2012-09-15 13:01:00

标签: iphone ios json

我的大脑被炒了!我想不出来。  我是iphone编程新手

正在做json解析....在那里我将数据从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  

}

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

2 个答案:

答案 0 :(得分:1)

您的应用程序崩溃是因为您要向NSArray添加数据,这是静态数组,您无法在运行时添加值,因此只需生成NSMutableArray并在{{1}中添加数据}。

答案 1 :(得分:0)

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

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

array = [dict objectForKey:key];

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

[array addObject:array ]; 

你可能想做这样的事情:

for (NSString *key in [dict allKeys])
{  
     id value = [dict objectForKey:key];              
     [array addObject:value];     
}