今回は,UITableViewControllerを継承したクラスを作成して,
機能を確認していきましょう.
それでは,XCodeのメニューバーから,
File → New → New File
と進みます.
そして
UIViewController subclass
を選択します.
次に
Class: CustomTableViewController (お好きなクラス名でいいですよ)
Subclass of: UITableViewController
と選択してファイルを作成してください.
できあがったファイルを見てみましょう.
「.h」ファイルはいつも通りですね.UITableViewControllerを継承できています.
「.m」ファイルは大変なことになってますね笑
UITableViewはとにかくコードが複雑になってしまいます.
でも,じっくり読めば簡単ですから,安心してください.
さて,ファイルを追加しただけなのに,warning(黄色い三角)がでていますよね.
ここに移動してください.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 2;
}
「#warning」の行は消して下さい.{
// Return the number of sections.
return 2;
}
ここではセクション(リストのまとまり)の数を決定します.
今回は2セクションつくりますので,「return 2;」としてください.
では,もう一つwarningがでていると思います.そこに移動してください.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
if(section == 0)
return 5;
else if(section == 1)
return 4;
else
return 0;
}
セクションによって行の数を変えてみましょう.{
// Return the number of rows in the section.
if(section == 0)
return 5;
else if(section == 1)
return 4;
else
return 0;
}
先程,セクションを2つ作りました.
セクションのインデックス(セクション番号)は0からはじまります.
この関数の引数のsectionにインデックスが格納されていますので,
if文で分岐させ,希望する行数をreturnで返します.
さて,ここで疑問に思うことがありますよね.
何で,returnで値を返すことで設定ができるんだ??
そうなんです.ここが難しいんですよね.
先程から紹介している関数は,「デリゲート」と呼ばれるものです.
こちらも機会があれば説明させて頂くとして,今の段階では,
「UITableViewControllerを作成する際に自動で呼ばれる関数」
くらいに思っておいて下さい.
自動で呼ばれるので,呼んだ後の返り値の処理も自動でやってくれます.
つまり,ここに処理を書く(returnの値を設定する)ことで行数等を設定できる訳なんです.
次の記事へ
HOMEに戻る