swift UITableViewDataSource xcode 6.1

swift UITableViewDataSource xcode 6.1

当我将 UITableViewDataSource 添加到 viewControllerClass

时,我正在尝试在 application.But 中使用 UITableViewDataSource

这是我的代码

class SecondViewController: UIViewController,UITableViewDataSource{

我得到的东西有误 'SecondViewController' 不符合协议 'UITableViewDataSource'

self.messageTableView!.registerNib(UINib(nibName: "MessageCell", bundle: nil), forCellReuseIdentifier: "MessageCell")
            self.messageTableView!.rowHeight = UITableViewAutomaticDimension;
            self.messageTableView!.estimatedRowHeight = 44.0;
            self.messageTableView!.keyboardDismissMode = .Interactive
            self.view.addSubview(self.messageTableView!)

您必须实现协议的非可选功能,它们是:

tableView:numberOfRowsInSection
tableView:cellForRowAtIndexPath

除了自定义消息单元格之外,我重构了您的代码并进行了编译。我注意到使用不当!在 UITableView 的两个必需函数中将给出该消息。如果您单击错误消息(标记为红色),它将在导致问题的行中显示其他错误消息。首先删除 !有时编译会提供更正我还在另一个堆栈溢出上看到 6 和 6.1 之间有变化。我正在使用 6.1。 ([iOS : 'MyViewController' does not conform to protocol 'UITableViewDataSource')

 class SecondViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    var messages = ["A", "B", "C"]
        @IBOutlet var tableView: UITableView?
        override func viewDidLoad() {
            super.viewDidLoad()
            tableView!.dataSource = self
            tableView!.delegate = self
            self.tableView!.registerNib(UINib(nibName: "MessageCell", bundle: nil), forCellReuseIdentifier: "MessageCell")
            self.tableView!.rowHeight = UITableViewAutomaticDimension;
            self.tableView!.estimatedRowHeight = 44.0;
            self.tableView!.keyboardDismissMode = .Interactive
            self.view.addSubview(self.tableView!)

            // Do any additional setup after loading the view.
        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }

        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
        {
            return messages.count
        }

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

            var cell:UITableViewCell=tableView.dequeueReusableCellWithIdentifier("MessageCell") as UITableViewCell
            var msg=self.messages[indexPath.row]
            //cell.configureWithMessage(msg)
            return cell 

        }

    }