【问题标题】:Swift UITableView Controller error: Type "ViewController" does not conform to protocol "UITableViewDataSource"Swift UITableView 控制器错误:类型“ViewController”不符合协议“UITableViewDataSource”
【发布时间】:2015-04-16 20:49:48
【问题描述】:
import UIKit
class ViewController:UIViewController {
    var tableView:UITableView?

    override func viewDidLoad() {
        super.viewDidLoad()

        tableView = UITableView(frame:view.bounds,style: .Plain)

        if let theTableView = tableView {
            theTableView.registerClass(UITableViewCell.classForCoder(),forCellReuseIdentifier:"identifier")

            theTableView.dataSource = self
            theTableView.autoresizingMask = .FlexibleWidth | .FlexibleHeight

            view.addSubview(theTableView)
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

“theTableView.dataSource = self”错误信息类型“ViewController”不符合协议“UITableViewDataSource”

【问题讨论】:

  • 你得到的错误信息是不言自明的,你的ViewController确实不符合协议UITableViewDataSource。对此有很多问题,例如查看this

标签: uitableviewsectionheader


【解决方案1】:

您需要在顶部声明您正在实现数据源和委托协议,然后您需要实际实现这些方法(至少 numberOfRowsInSection 和 cellForRowAtIndexPath)。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate

【讨论】:

  • 还是不行。同样的警告出现在“class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate”这一行
  • 你实现了数据源方法吗?使用您现在拥有的代码更新您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-08
  • 2016-11-17
相关资源
最近更新 更多