iPhoneアプリ開発基本(10)

このエントリーをはてなブックマークに追加
はてなブックマーク - iPhoneアプリ開発基本(10)
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`grow` not found]

iPhone開発の基本も10回目になりました。
簡単でも使う基本部分、という感じで進めていましたが、今回はよく使うけど難しい分類になるTableViewControllerを紹介します。

ちなみにTableViewControllerって?という方もいると思うので参考キャプチャを。

iPhoneアプリ開発基本(10):UITableViewControlleriPhoneアプリ開発基本(10):UITableViewController

こんな感じで表っぽくなっていたり、グループでまとまっていたりという、そういう感じに使われているものはTableViewControllerを利用しています。

iPhone_Seminar_banner

UITableViewController

まずは簡単にテンプレートとして作成されるTableViewControllerを見てみましょう。

Navigation-based Application

Xcode4でプロジェクトを作成するときに、【Navigation-based Application】を選択してください。
名前がNavigationなので気づきにくいですが、TableViewControllerをベースにしたプロジェクトが作成できます。

その際に、以下の部分のチェックを外しておいてください。

iPhoneアプリ開発基本(10):UITableViewController

Use Core Data】はCoreDataを使って作成するかどうかを聞かれています。
通常、TableViewControllerは何かデータを表示するときに使われるため選択が可能になっています。
最初からこれを入れておくと、TableViewControllerでのデータの扱いなどを知ることができますが、当然、CoreDataの使い方を知らなかったりすると複雑になって余計に混乱します。
なのでまずTableViewControllerの表示に関する部分を知るために、今回はあえて【Use Core Data】のチェックは外してください。

作成できたら早速起動してみましょう。

iPhoneアプリ開発基本(10):UITableViewController

なんだか何も書かれていないノートのようなものが出てきましたね。
これが基本の状態です。

ではまず、中身を見てみましょう。

numberOfSectionsInTableView, numberOfRowsInSection

mファイルの中程にある【numberOfSectionsInTableView】と【numberOfRowsInSection】を見てください。

// Customize the number of sections in the table view.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return 1;

}

 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return 0;

}

これは、SectionとそのSectionのRowの数を指定する場所です。

Sectionとは部分、区分という感じのものです。
実行した直後ではこれを変更しても全く意味がわかりません。

なので、xibファイルでプロパティを変更して見栄えをかえてみましょう。
Styleを【Plain】から【Grouped】に変更します。

iPhoneアプリ開発基本(10):UITableViewController

すると、xibファイルのプレビューが以下のように変わりました。

iPhoneアプリ開発基本(10):UITableViewController

では、続いてmファイルの【numberOfSectionsInTableView】と【numberOfRowsInSection】を変更してみましょう

// Customize the number of sections in the table view.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return 2;

}

 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return 3;

}

Sectionの数を2つに、SectionのRowの数を3つに設定しました。

この状態で一度、実行してみましょう。

iPhoneアプリ開発基本(10):UITableViewController

上のような状態になっていれば成功です。
このように【numberOfSectionsInTableView】は1つの区分(グループ)の数を、【numberOfRowsInSection】はその中での要素(行)の数を指定しています。

ちなみに、このまま見栄えだけを変えてみる(xibファイルでプロパティStyleを【Plain】に変更する)と、

iPhoneアプリ開発基本(10):UITableViewController

元の状態に戻りました。

今回はここまで。
次は実際にCellの中に値を入れて表示してみましょう!

iPhone_Seminar_banner

関連している記事:


Copyright(c) 2010 EUI All Rights Reserved.