【Swift Error】Type ‘ViewController’ does not conform to protocol ‘UITableViewDataSource’

ViewController.swiftでTableViewを使った実装を行う際に、「Delegate」「DataSource」を継承すると「Type ‘ViewController’ does not conform to protocol ‘UITableViewDataSource’」というエラーが表示されてしまったので、解決方法をまとめました。

スポンサーリンク

バージョン

Swift 3.0

エラー箇所

以下のようにTableViewを使うためのクラス定義を行うとエラーになる。

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
・・・・

対応方法

必須となるメソッド定義が不足していて出力するエラーのため、以下のようなメソッドを追加する。

// セルの内容を返すメソッド
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
}
// セルの行数を返すメソッド
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
}

各メソッドの内部は、各自が求めるような記述を追加する。

エラーが表示されるとその時書いたことが問題と思うことが多いですが、フレームワークやあまり知らないクラスを利用する際は、このようにメソッドを記述しないとエラーになる問題が発生する。


スポンサーリンク
PAGE TOP