はじめに
iPhoneアプリケーションで最もよく使用されるビューの1つは、項目のリストを表示するためのTable Viewです。ユーザーは、表示されている項目を選択したり、タップして詳細情報を表示したりできます。図1に、[Settings(設定)]アプリケーションで使用されているTable Viewの例を示します。
この記事では、iPhone SDKでTable Viewを使ってデータ行を表示する方法について説明します。特に、Table Viewに項目を追加してユーザーの項目選択を可能にするために処理しなければならないイベントと、Table Viewの行にテキストとイメージを表示する方法、さらにTable Viewの行に「ディスクロージャボタン」(詳細情報があることをユーザーに知らせるアイコンボタン)を追加する方法を見ていきます。
簡単なTable View
Table Viewを使ったサンプルアプリケーションを作成するには、Xcodeを開き、[Navigation-based Application(ナビゲーションベースアプリケーション)]プロジェクト(図2参照)を選択します。このプロジェクトにはTable Viewが含まれています。[Choose]ボタンをクリックし、新規プロジェクトに「TableViewExample」という名前を付けます。
この新規プロジェクトには、ResourcesフォルダにあるRootViewController.xibというファイルが含まれます。RootViewController.xibファイルをダブルクリックしてInterface Builderで開きます。図3は、RootViewController.xibウィンドウと[Table View]アイテムの内容を示しています。
ナビゲーションベースアプリケーションのプロジェクトでは、ビューベースアプリケーションのプロジェクトと異なり、デフォルトで[View]アイテムではなく[Table View]アイテムが使用されます。Table Viewはナビゲーションコントローラと一緒に使用されることが多いからです。
RootViewController.xibのウィンドウで[Table View]アイテムを右クリックすると、Table Viewの接続が表示されます(図4参照)。「dataSource
」と「delegate
」というラベルの付いた2つのアウトレットがどちらも[File's Owner]アイテムに接続されており、この[File's Owner]アイテムは、RootViewController.hおよびRootViewController.mファイルで実装されるRootViewControllerクラスを指していることに注意してください。
この2つのアウトレットは、次の役割を果たします。
dataSource
アウトレットは、Table Viewに行を追加する各種メソッドの実装がどこから提供されるかを表します。この場合は、RootViewControllerクラス(File's Owner
)が提供元になります。delegate
アウトレットは、ユーザーによるTable Viewの行の選択を可能にする各種メソッドの実装がどこから提供されるかを表します。この場合は、やはりRootViewControllerクラス(File's Owner
)が提供元になります。