1

私のアプリケーションは世界ガイドです。4tableviewと 4がありmapviewます。

  1. 大陸
  2. 場所

上記の各項目を取得NSMutableArrayし、それらをビューに割り当てていました load 。大陸テーブルからアジアを選択すると、国配列からアジアの国のみが表示されます。国が選択されている場合、場所の副のように、都市配列からそれぞれの国の都市のみが都市テーブル ビューに表示されます。木のようです。配列を扱うには長すぎます。この作業を簡単にする別の方法があれば教えてください。

4

3 に答える 3

1

実装するためのより良い方法は次のようにすべきだと思います。

  • NSMutableArrayトップレベルのオブジェクトを保存するためにのみ使用します。
  • NSMutableDictionary中レベルおよび低レベルのオブジェクトを格納するために使用します。
  • トップレベルオブジェクトの各インデックスにを格納NSMutableDictionaryします。NSMutableArray
  • キーを大陸名として一番上に置き、NSMutableDictionary値を国名として置き、次のレベルでも同じようにします。

この場合、動作するために1つだけを維持する必要がありますNSMutableArray。4〜5個の異なるアレイを処理する必要はありません。

それがあなたのために働くことを願っています。

于 2012-10-26T07:23:37.210 に答える
0

4 つのオブジェクトすべてに関するデータを取得する方法でデータを処理または分類することは非常に複雑です。これは、どの国がどの大陸に属し、どの都市がどの国に属しているかを特定できるキーと値のペアがないためです。の上。

ですから、あなたがしなければならないことは、分類されたデータを取得できる Web サービスを使用することです。

これは、URL をヒットするだけで XML を応答としてキャッチできる Web サービスのリンクです。

URL : http://ws.geonames.org/countryInfo ?

上記の URL は、応答として XML を提供します。このような :

<geonames>
<country>
<countryCode>AD</countryCode>
<countryName>Andorra</countryName>
<isoNumeric>020</isoNumeric>
<isoAlpha3>AND</isoAlpha3>
<fipsCode>AN</fipsCode>
<continent>EU</continent>
<continentName>Europe</continentName>
<capital>Andorra la Vella</capital>
<areaInSqKm>468.0</areaInSqKm>
<population>84000</population>
<currencyCode>EUR</currencyCode>
<languages>ca</languages>
<geonameId>3041565</geonameId>
<west>1.4071867141112762</west>
<north>42.65604389629997</north>
<east>1.7865427778319827</east>
<south>42.42849259876837</south>
</country>
.
.
.
and so on...

またはJSON形式が必要な場合。次の URL を使用します。

URL api.geonames.org/countryInfoJSON?username=demo&formatted=true

これで、ソリューションまであと数歩です。

XML 解析を実行し、要件に従ってデータをフィルタリングします。

または、この Web サービスに関する詳細な知識が必要な場合

ちょうど訪問: http://geonames.r-forge.r-project.org/

それがうまくいくことを願っています。

于 2012-10-26T13:15:46.067 に答える
-1

大陸、国、都市、場所に関するすべてのデータがあると思います。この状況では、4 つの配列すべてを接続する方法は、TableView に表示するデータの形式に完全に依存します。

各アイテムの文字列の配列または辞書の配列であるか、 JSONまたはXMLであるか。データ形式を教えてください。後は頑張ります。

于 2012-10-26T08:23:39.870 に答える