Swift UITableView 控制器错误:类型“ViewController”不符合协议“UITableViewDataSource”

Posted

技术标签:

【中文标题】Swift UITableView 控制器错误:类型“ViewController”不符合协议“UITableViewDataSource”【英文标题】:Swift UITableView Controller error: Type "ViewController" does not conform to protocol "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 【参考方案1】:

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

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate

【讨论】:

还是不行。同样的警告出现在“class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate”这一行 你实现了数据源方法吗?使用您现在拥有的代码更新您的问题。

以上是关于Swift UITableView 控制器错误:类型“ViewController”不符合协议“UITableViewDataSource”的主要内容,如果未能解决你的问题,请参考以下文章

设置UITableView数据源并在单独的文件中委托 - swift

如何让 json 在 Swift 3 中填充 UITableView?

Swift4滚动UITableview后,动画UITableview框架是错误的

swift 3.0中的UITableView错误

Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭]

Swift 分段控制和 UITableView