0

JSON国、州、およびそれらの都市に関するフィードからいくつかの情報をダウンロードしています。最終的なデータ構造を作成する方法は次のとおりです。

NSArray各要素がを保持する場所NSDictionary。それぞれNSDictionarykey国の名前と、州valueNSDictionary対応するのがあります。それらのそれぞれは、州の名前と都市の名前のリストを含む配列のをNSDictionary保持します。keyvalue

各国をテーブルビューの異なるセクションに表示したい。国の数(別名、セクションの数)を返すには、次のようにすることができます[countriesArray count]

しかし、各国の州や都市の数を返すことは、私の現在の構造では不可能に思えます。アクセスできます[countriesArray objectAtIndex:index]が、その後、その辞書の値にアクセスするにはどうすればよいですか(キーは国の名前です)。

データ構造を再構築する必要がありますか?もしそうなら、この種のデータを並べ替える最良の方法は何ですか?

4

3 に答える 3

1

折りたたみ可能なテーブルビューを使用してこの問題を処理できます

これにより、必要に応じて関連データを表示することができます。

于 2012-06-19T04:24:56.210 に答える
0

以下のデータ構造が役立つ場合があります。

NSDictionaryをオブジェクトとして持つコンテナーNSArray。各辞書には、countryNameやstateInfoなどの固定キーがあります。このキーの値は、文字列とNSDictionaryになります。

各stateInfoディクショナリには、stateName、citysなどの固定キーが必要です。このキーの値は、stringおよび都市のNSarrayになります。

于 2012-06-19T04:25:48.443 に答える
0

NSArray * countryKeys = [countriesArray allKeys]; //すべてのキー(国名)の配列を返します。

また、[countriesArray objectAtIndex:index]を実行する代わりに、[countriesArray valueForKey:[countryKeys objectAtIndex:index]];を実行する必要があります。

于 2012-06-19T06:15:55.980 に答える