このページは「iPhoneプログラミング入門」(工学社刊、ISBN 978-4-7775-1541-7)のサポートページです。
本書を元に、次の一歩を踏み出したい人へ
本書を読んで「これだったら、もう少し難しいプログラムも書けそうだ、書いてみたい」と思った人のために、「次の段階」のサンプルと説明を用意しました。
なお、本書で説明したことは、全て了解済みのこととして書いています。アコギなどと思わないでください。また同じ説明をしようとするとまた話がどんどんと長くなってしまうからなのです。
みなさんが、iPhoneの開発者サイトなどで公開されているサンプル・アプリケーションを研究しようというとき、そうしたアプリケーションには多くの場合、「テーブル」が含まれています。それらをキッチリ理解しないと、世の中のサンプルを自分で研究していくのはきわめて困難です。そのようなテーブルから、まず勉強しておきましょう。
Xcodeのテンプレート「Navigation-based Application」を用いて、「ナビゲーションつき」アプリケーションを作成します。最初っからテーブルが乗っかっていますが、これは「1」でテーブルの構造を学びましたから取り扱って行けるでしょう。問題は「どこの」「何が」「ナビゲーション・コントローラなの?」です。
「ナビゲーションつきアプリケーション」のテンプレートは、上記のように、テーブルなんかがついています。そこで、もっと簡単な構造のナビゲーションつきアプリケーションを自分でゼロから作りましょう(上記で学んだことを元にしてあります)。
モーダルビューとは、特定の操作をした結果ニョロっと出てきて、「OK」などのボタンを押して引っ込めないと先へ進めないようなビューのことです。ナビゲーションバー上で「info」ボタンをクリックするとニョロッと出てくるようにしましょう。
ナビゲーションバーには、そこに置くため専用のボタンがあります。インターフェイス・ビルダー上で「Bar Button Item」という名前のついているオブジェクトです。いろいろな選択肢が利用できるのですが、問題はそれを「MainWindow.xib」上で編集しなければならないことです。たとえば「BarButtonItemViewController」クラスに定義したアクションを呼び出すためには、どのように連結線を引っ張ればいいのか?それが本記事のキモです。
「最も簡単なナビゲーションの作り方」の方法で、画面(ビューコントローラ)を切り替えるときに、切り替え先の画面にデータを送る方法です。切り替え先ではそのデータを受け取って、自分の画面に表示します。実は、これは本当に簡単です。
データの受け渡しで本当におさえておきたいのはこちらです。一旦別の画面を出して編集などした結果を、「元の画面に戻す」方法です。そのために、機能は「デリゲート」、文法は「プロトコル」と呼ばれるしくみを利用します。