iOS 在 UIViewController 中手动增加 TableView 出现 Type 'SomeViewController' does not confirm to protocol 'UITableViewDataSource' 问题的解决办法

许多时候我们都有在普通的继承自 UIViewController 的控制器中使用 TableView 的需求,这时候就需要当前控制器类继承 UITableViewDelegate 和 UITableViewDataSource,然后再初始化:

@IBOutlet weak var firstTableView: UITableView!

override func viewDidLoad() {

super.viewDidLoad()

firstTableView.delegate = self

firstTableView.dataSource = self

}

这时候,firstTableView.dataSource = self 这一行会报错:

Type 'SomeViewController' does not confirm to protocol 'UITableViewDataSource'

解决方案如下:

在该类中新增如下方法:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return 3

}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

return 1

}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("UserCenter", forIndexPath: indexPath) as UITableViewCell

cell.textLabel.text = indexPath.row.description

return cell

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容