やりたいことを正確に説明してくれました。これが私がこれに取り組む方法です。意味のないコードを提供せずに説明し、後で発生する可能性のあるコーディングの懸念に答える方が簡単だと思います。
テーブル ビュー データ ソースを配列の配列になるように設定します。アイデアは、配列内のすべてのインデックスが州を表すため、多数の都市を含むため、インデックスには配列 (都市の配列) が含まれるということです。親配列 (州の) は最初は空ですが、後でそれを埋める (都市の) 配列には適切な都市が入力されます。
次に、セクションを含むようにテーブル ビューを設定します (ここにコードを配置したくなりましたが、読み進めてください)。セクションは都市を表します。(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
その後、デリゲートを使用してテーブル ビューにセクションを 入力できます。最初の実行では、セクションごとに 1 つのセルで実際のテーブルを埋めることができます (おそらく、「展開」または「さらに」という単語と下向き矢印を使用)。ユーザーがそのセルに触れると、didselectrowatindexpath を使用して、どのセクションが触れられたかを知ることができます (indexpath オブジェクトにはセクションが含まれています)。これで、それがどのセクションであるかがわかったので、そのセクションの都市の配列を追加してデータ ソースを変更するだけです。配列の配列 (親配列) を取得し、テーブルビューを更新します。
これにより、基本的に、テーブルビューにそれに応じたスタイルと感触が与えられます。実装は非常に簡単ですが、少しコードが必要です。私はこれを行っており、必要なコードを喜んで提供します。最も難しいのは、テーブルビューを正しい方法で更新することです。
編集コード:
上記の説明に従って、簡単な例を示しました。コードはGithubにありますので、ご不明な点がございましたらお気軽にお問い合わせください。