UITableViewの基本

シェアする

S 2016 05 26 13 59 58

iOSアプリで使われることの多いクラスUITableViewの基本的な使い方を紹介します。

UITableViewはさまざまなデータを複数行にわたって表示することができる多機能なクラスです。表示する内容は自由に変更可能で、テキストはもとより画像を追加したり、背景色を変更したり、サイズを変更したりといった多様なカスタマイズが可能となっています。

ここでは最も簡単に各行にテキストを表示し、行をクリックしたタイミングでデバッグコンソールにその内容を表示するプログラムを作成します。

プロジェクト作成と画面の準備

Single View Applicationを作成します。

S 2016 05 26 14 05 24

適当に名前をつけてプロジェクトを作成したらMain.storyboardを選択。オブジェクトライブラリからTable Viewを選択してドロップします。

S 2016 05 26 14 11 07

▲アシスタントエディタを開き先ほどドロップしたTable ViewをCtrl+ドラッグして、ViewController.swiftのソースコードの上でドロップします。tableViewという名前のアウトレットを作成しておきましょう。

S 2016 05 26 14 12 31

▲Table Viewを右クリックしdataSource、delegateをViewController(黄色のアイコン)にドロップして接続しておきます。

これで画面の準備は完成です。

ソースコードの作成

UITableView理解のポイントはdataSourceおよびdelegateの設定にあります。

dataSourceはデータソース=データの源の意味。UITableViewにデータを供給する役割を担うもので、UITableViewの場合UITableViewDataSourceというプロトコルを実装したオブジェクトを指定する必要があります。

対してdelegateはタップなどのイベントが発生した際、そのイベントの連絡先となるものです。UITableViewの場合UITableViewDelegateというプロトコルを実装する必要があります。

これを踏まえるとViewController.swiftのソースコードを以下のように実装することになります。

先ほどdataSourceとdelegateをどちらもViewControllerとして設定しているため、ViewControllerにUITableViewDataSourceとUITableViewDelegatという2つのプロトコルを実装することになります。

S 2016 05 26 14 31 02

実行すると都道府県の行が表示され、タップするとその内容がデバッグコンソールに表示されます。

重要メソッド1: tableView:numberOfRowsInSection:

UITableViewDataSourceの必須メソッドの一つ。データの行数を返すメソッドです。正確にはセクションごとの行数を返します。

単純な場合:

セクションが2個存在:

重要メソッド2: tableView:cellForRowAtIndexPath:

UITableViewDataSourceの必須メソッドの一つ。セル返すメソッドです

単純な場合:

複雑な場合: セクションごとにセルが異なる場合Identifierで区別します。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

シェアする

フォローする