この種の問題に遭遇した人に非常に簡単な質問をしています。解決策には多くのアプローチがあるため、マークを付けないでください。
都市と町を含むデータベースがあり、都市には多くの町があるため、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
)