2

私の脳は揚げられています!私は考えることができません。iPhoneプログラミング初心者です

json の解析を行っています .... json から nsdictionary にデータを保存していますが ....... 辞書からすべての nsdictionary float 値を配列に追加したいと思います。これは私が今やっているものです。以下のコードとして:

- (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 に答える