このページの本文へ

Swift Playgroundsで学ぶiOSプログラミング第36回

テーブルビューを使う(その5)

階層データを深堀するプログラミング

2017年04月17日 17時00分更新

文● 柴田文彦 編集●吉田ヒロ

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回は、ナビゲーションコントローラーとテーブルビューを組み合わせ、テーブルから選択した項目に関する内容を、スライドして入れ替わる別画面で表示する機能を実現しました。また、ナビゲーション機能を利用することで、画面の上部にナビゲーションバーを表示できるようになり、いかにもiOSアプリっぽい画面を実現することもできました。

 今回は、ナビゲーション機能とテーブルビューの組み合わせをさらに発展させたプログラムを組み立てていきます。今回の最終的な目的は、ナビゲーション機能を使って、データの続く限りテーブルビューの項目をどこまでも深掘りしていけるようにすることです。そのための題材としては、以前に使ったiOSのシステムが提供しているタイムゾーンの配列を使います。最初に大陸レベルの領域名を表示し、その中から選んだ項目に含まれる国レベルの領域、さらにそこから選んだ地域名というように選んでいき、それより下に展開すべき項目がなくなれば、選んだ領域の時差に関する情報を別画面で表示します。言葉ではわかりにくいので、機能のイメージを図で示しておきましょう。

今回の、多段階のテーブルビューの動作の様子です。選んだ項目に関する階層データの続く限りテーブルビューを表示し、いちばん下のレベルではその項目の情報を表示します

 ただ、それを実現するプログラムは、これまでのものに比べると少々複雑になってしまいました。そこでその前の段階として、前回と同様にテーブルビューの項目を選ぶと、それに関する情報をすぐに表示するものから始めることにします。この場合、最初に表示するテーブルビューには、システムのタイムゾーン配列の内容をそのまま表示することになります。その中から選んだタイムゾーンに関する情報は、システムのTimeZoneクラスから簡単に得ることができるのです。

この連載の記事

ようこそ、ASCII倶楽部へ

週間ランキングTOP5

ASCII倶楽部会員によく見られてる記事はコレだ!

ASCII倶楽部の新着記事

会員専用動画の紹介も!