2017-03-01 12 views
1

UIViewControllerのカスタムサブビューとしてUITableViewを作成しようとしていますが、データがテーブルに表示されません。私は問題が私のdelegateであり、テーブルのdatasourceが設定されていないと思われます。どうすればリンクできますか? UITableViewDataSourceUITableViewクラス内で動作しないようですか?カスタムUITableViewでデリゲートとデータソースを設定する

のUIViewController

let projectDeck = ProjectDeck() 
    projectDeck.frame = CGRect(x: 0, y: statusBarHeight + 132, width: screenWidth, height: screenHeight - 132) 
    self.view.addSubview(projectDeck) 

のUITableView

class ProjectDeck: UITableView { 

    var items = ["Test", "TestTest", "TestBestWestVest"] 

    override func numberOfRows(inSection section: Int) -> Int { 
     return items.count 
    } 

    override func cellForRow(at indexPath: IndexPath) -> UITableViewCell? { 
     let cell = UITableViewCell() 
     cell.textLabel?.text = items[indexPath.row] 
     return cell 
    } 

} 
+0

projectDeck.delegate = self、データソースと同じです(UIViewControllerがデリゲートまたはデータソースの場合)**テーブルビューのセルに正しい高さを指定する必要があります。 https://developer.apple.com/reference/uikit/uitableviewdelegate/1614998-tableview –

+0

[Swiftでプログラムでuitableviewのデリゲートとデータソースを設定する]の可能な複製(http://stackoverflow.com/questions/27022136/set-delegate -and-data-source-of-suableable-program-in-swift) –

+0

セルをデキューする方法:http://stackoverflow.com/questions/24471954/how-to-use-dequeuereusablecellwithidentifier-in-swift –

答えて

0

セットデリゲートとデータソースお使いのviewcontrlollerで

すなわちでのViewController

projectdesc.tableview.datasource = self 
projectdesc.tableview.delegate = self 

とviewccontroller

でcellforRowのようなテーブルビューのメソッドを実装し、あなたがのViewControllerにサブビューとしてテーブルビューを追加していることを確認し、適切に

0

あなたがデータソースとデリゲートの参照を追加する必要があります。

コンセントやストーリーボードから取ることができます。次のファーストレスポンダへのViewControllerとデータソースとデリゲートをクリックするストーリーボード

CTRL-ドラッグ・テーブル・ビューを使用して

yourTableView.datasource = self 
yourTableView. delegate = self 

:アウトレットを使用して

関連する問題