このページは「iPhoneプログラミング入門」(工学社刊、ISBN 978-4-7775-1541-7)を読んで、もっと先へ進んでみたいと思った人への説明です。

次へ->
<-前へ
「次の一歩」一覧へ

最も簡単なテーブルの作り方7

インターフェイス・ビルダー上での作業

今はどうなってたんだっけ

インターフェイス・ビルダーで開いているのはFirstTableViewController.xibですから、「File's Owner(本書ではファイル・オーナーと呼ぶことにしてしまいました)」はFirstTableViewControllerクラスのシングルトン・オブジェクトです。
FirstTableViewControllerクラスには、UITableViewクラスのプロパティtheTableViewを、IBOutletキーワードをつけて、宣言してあります。 一方、インターフェイス・ビルダー上に配置したのは「Table View」オブジェクトで、名前を「TheTable」にしてあります。

見かけも中味も結びつける

ですから、TheTableとファイル・オーナーを結びつけます。しかし、今回は、「インターフェイス・ビルダー上の部品と、ファイル・オーナーのプロパティ」だけではありません。
理由は、インターフェイス・ビルダー上の「テーブル」は見かけだけでなく、「中味」もファイル・オーナーと結びつける必要があるからです。

TableViewにちゃんとある「delegate」と「dataSource」

もっと具体的な理由は、FirstTableViewControllerクラスが、UITableViewDelegateとUITableViewDataSourceという二つのプロトコルを実装しているからです。
まぁ、一言で言って「めんどくさそッ」ですよね。でも、大丈夫です。
インターフェイス・ビルダー上で、オブジェクトTheTableのコネクション・パネルを出してみてください。「Outlets」と見出しのついた区域に「dataSource」と「delegate」という欄がちゃんと用意されていますね。これらをファイル・オーナーと結びつければいいんです。

おなじみの作業「Referencing Output」

本書でも何度もやった作業から、まず始めましょう。TheTableのコネクション・パネルで「New Referencing Output」の欄の右端の丸印(連結点)から、ドキュメント・ウィンドウ上のファイル・オーナーのアイコンまで「連結線」を引っ張ります。 ファイル・オーナーのアイコンに「theTableView」という項目が表示されたら、それを選びます。これで「見かけ」は結びつきました。

他は、ファイル・オーナーと直接連結

TheTableのコネクション・パネルで確認した「dataSource」と「delegate」も、右側の連結点から、「ファイル・オーナー」アイコンに連結線を引っ張ります。しかし、「部品」の連結を行うときのような「選択肢」は出ません。線を引っ張れば、「dataSource」と「delegate」のいずれも、「File's Owner」と結びつきます。

動作の確認

さぁこれで、ひとまず実行できる状態になりました。NIBファイルやプログラムファイルを全て保存したら、アプリケーション「FirstTable」を実行してみましょう。「Red」「Green」「Blue」という文字列がテーブルに表示されましたね。これでようやく、「最も簡単なテーブル」の完成です。あれっぽっちのテーブルを出すのに、ここまでやらなければならないのですョ。それも、まだ完全ではないのです。メモリを節約し、動作を速くするために、「セルを使い回す」ように動作を変更しないと、開発者の風上にも置けないと当局(どこの?)から叱責をくらってしまうでしょう。
セルを「使い回す」動作に変更します