[Objective-C] UIViewController にUITableView を設置する

投稿者: | 2014/01/09

随分以前、このブログに書いておいた気でいたのですが、書き忘れていたみたいなのでメモ代わりに書いておくことにしました。

手順

とりあえず手順は以下の7ステップ。
Storyboard を使って横着します。

  1. UIViewController を用意する。
  2. Storyboard でUIViewController を用意し、そこにUITableView を配置する。
  3. Storyboard 上のUIViewController と手順1で用意したUIViewController を関連付ける。
  4. Assistant editor を使ってUITableView をUIViewController.h に関連付けする。
  5. UIViewControllerの.hファイルでUITableViewに必要なプロトコル2つを読み込むようにする。
  6. UIViewControllerの.mファイルでviewDidLoad 時にUITableView を用意させる。
  7. - (void)viewDidLoad {
        [super viewDidLoad];
        
        [self.myTableView setDelegate:self];
        [self.myTableView setDataSource:self];
        [self.view addSubview:self.myTableView];
    }
    

  8. UIViewControllerの.mファイルにUITableView の必須delegate 関数を実装する。
  9. #pragma mark - Delegate Methods
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        NSUInteger rowCount = 10;   // セクションあたりのセル数
        return rowCount;
    }
    
    - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        NSString* cellIdentifier = @"myCell";
        UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    
        if ( !cell ) {
            cell = [UITableViewCell new];
        }
        
        return cell;
    }
    


    _
    おわり。

「とりあえず」としたのは、この後、他のdelegate メソッドをあれこれと追加せなあかんから。
上記は「最低限」です。

他にもテーブルのセクション数やら何やかやとあります。
UITableViewController を継承しておけば書かなくて済んだことなんかも、以下の様に自前で書いてやらなあかんです。


ですが、その分UITableViewController より自由度が高い点もあるので、私はこちらの方が好みです。

 



 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータがどう処理されているか知りたい方はこちらをお読みください