2016-12-13 12 views
0

私はUITableView私はちょうど3つの細胞を持つ必要があります。これは私がIBで持っているものです:IB table view and cells。すべてのセルにUITextFieldが含まれています。そのため、カスタムセルを使用しています。各セルは、対応するUITextFieldを出口としてCustomCellクラスにバインドされています。 UItexFieldのテキストをテーブルのUIViewControllerに渡すためのプロトコルもあります。 UIViewController固定数のカスタムセルでテーブルビューを正しく実装するにはどうすればよいですか?

私はこのている:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    var cell = UITableViewCell() 

    switch indexPath.row { 
    case 0: 
     cell = tableView.dequeueReusableCell(withIdentifier: "firstNameCell", for: indexPath) 
     (cell as! FirstNameTableViewCell).delegate = self 
    case 1: 
     cell = tableView.dequeueReusableCell(withIdentifier: "lastNameCell", for: indexPath) 
     (cell as! LastNameTableViewCell).delegate = self 
    case 2: 
     cell = tableView.dequeueReusableCell(withIdentifier: "birthdateCell", for: indexPath) 
     (cell as! BirthdateTableViewCell).delegate = self 
    default: 
     break 
    } 

    return cell 
} 

しかし、ここで:

override func viewDidLoad() { 
    super.viewDidLoad() 
tableView.register(FirstNameTableViewCell.self, forCellReuseIdentifier: "firstNameCell") 
tableView.register(LastNameTableViewCell.self, forCellReuseIdentifier: "lastNameCell") 
tableView.register(BirthdateTableViewCell.self, forCellReuseIdentifier: "birthdateCell") 
} 

セルの内容が示されていません。

このシナリオを扱う正しい方法はどれですか?

+1

固定セルがある場合は、ストーリーボード自体でUITableViewControllerにスタティックセルを作成し、テキストフィールドからIBOutletをVCに直接描画することはできません。セルは再利用されないので、xCodeは不平を言わず、論理的な観点からも意味をなさない:)固定数のセルに対してデリゲートを作成する手間は不要です。 –

+2

サイドノート、関連性がありません:** Interface Builderで設計されたセルを登録する必要はありません。 – vadian

+0

@vadianあなたはストーリーボードを意味します、そうですか? –

答えて

0

サンディープバンダリが言ったように、あなたは静的な細胞を維持したい場合は、テーブルビューに、静的セルを使用します。

UITableView with static cells

あなたが行数、セクション、各セクションなどの行数を指定することができますそこにストーリーボード自体があります。

関連する問題