0

この種の問題に遭遇した人に非常に簡単な質問をしています。解決策には多くのアプローチがあるため、マークを付けないでください。

都市と町を含むデータベースがあり、都市には多くの町があるため、1 つのクエリを使用すると、町に対応する多くの都市が表示されます。mysql からの結果は次のとおりです。{City - Town 1, Town2, Town 3} したがって、Town と City の両方を表示したい場合は、{City-Town1, City-Town2, City-Town3} になります。

都市の下にあるすべての町をコンパイルできるようにして、最終的にこの配列のソースをドリルダウン テーブル、つまり最初のテーブルに使用できるようにしたいと考えています。詳細テーブルで、その都市の下にあるすべての町のリストである、繰り返されない都市のリストが必要です。1 つのテーブルのみを使用し、配列を動的にして、都市や町を問題なく追加できるようにしたい (配列ごとに異なるテーブルを提案する例を見たことがあります)。

このforループを使用して、mysqlの結果を反復処理しました

  for (int i=0; i<json.count; i++)
            {


           ids= [[json objectAtIndex:i] objectForKey:@"Id"];
           cityName = [[json objectAtIndex:i] objectForKey:@"cityName"];
           townName = [[json objectAtIndex:i] objectForKey:@"townName"];
}

これにより、都市のリストが表示されますが、それらは繰り返されています。

私はさまざまなアプローチについて考えてきました。1) @distinctunion を使用- (キーと値のコーディング) 2) 2 つの json を使用 (1 つは都市用、もう 1 つは町用) - それぞれの下で配列をコンパイルし、共通 ID を使用してそれらを結合します 3) 反復を使用し、上記のように反復しますが、類似した都市名を検索し、都市の下に町をグループ化する

誰かが同様の状況に遭遇しましたか? あなたは何をした?可能であれば例を挙げていただけますか

これは、上記の反復の NSMutable 配列の JSON 結果です

    2013-09-18 07:50:52.025 JSONDATA[7119:11603] (
    Bath,
    "Bath, Somerset"
)
2013-09-18 07:50:52.035 JSONDATA[7119:11603] (
    Bath,
    "Bath, Somerset"
)
2013-09-18 07:50:52.035 JSONDATA[7119:11603] (
    Bath,
    Keynsham
)
2013-09-18 07:50:52.035 JSONDATA[7119:11603] (
    Bath,
    Keynsham

)
4

0 に答える 0