如何将密钥浮点值从NSDictionary添加到NSarray



我的大脑被炸了!我无法思考。我是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  
}

请引导我,我没有得到一个部分,我正在做一个错误。提前谢谢。

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

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

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

array = [dict objectForKey:key];

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

[array addObject:array ]; 

你可能想做这样的事情:

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

最新更新