UITableViewを作る

TableはiPhoneらしいリストを作れるため重宝するが、サンプルの数やメソッドの数を見るとくじけたくなる位複雑だ。
テーブルに慣れるため、最低限のテーブルを作る方法をまとめた。


まずUITableViewを生成する際、styleはUITableViewStylePlainとでもおいておく。表示される前にdelegateとdatasourceオブジェクトを指定する。
単に羅列表示する事だけが目的のテーブルが作りたい場合、実はdelegateは何も実装しなくていい。UITableViewDelegate Protocolのリファレンスを見るとわかるが、描画のためや選択時のふるまいに関わるメソッドなのでほとんどがオプショナルなメソッドである。


datasourceには二つだけ実装しなければならないメソッドがある。
一つは-tableView:numerOfRowsInSection:で、セクション毎のセルの数を返す。セクション分けが無い場合も0番目のセクションがある扱いとなる。
次が-tableView:cellForRowAtIndexPath:で指定された場所のセルを返す。


たいていは-tableView:cellForRowAtIndexPath:内でUITableViewCellを生成するが、UITableViewはメモリ消費を抑えるためにセルにはidを振り、セルをすぐにはallocせず、必要なセルのidでdequeueReusableCellWithIdentifier:に問いあわせて再利用可能なセルがあればそれを使うようにする。羅列表示だけならばここでセルのselectionStyleをUITableViewCellSelectionStyleNoneにしておくとタッチされても選択された状態にならないので楽である。