我们怎样才能在我们的类中继承UITableViewDataSource协议?

时间:2014-06-13 08:45:41

标签: swift ios8 xcode6

enter image description here

我想在我的应用程序中使用表视图。但是当我将视图控制器确认为UITableViewDataSource时,它会在图像中显示错误。如何在我们的课程中使用UITableViewDataSource协议。

2 个答案:

答案 0 :(得分:3)

这不是指定协议一致性的正确方法。这是正确的语法。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    // stuff
}

如果您仍然看到该错误,那是因为您的课程没有实现这些代理所需的方法,在本例中为numberOfRowsInSection ....和cellForRowAtIndexPath ....

答案 1 :(得分:2)

我建议使用类扩展来符合协议,这种隔离使你的代码在你的类成长后更容易维护,例如:

class MainViewController: UIViewController {

   // ...

}

您可以使用协议扩展它

extension MainViewController: UITableViewDataSource {

    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
        return 0
    }

    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        return nil
    }

    // ... 

}

extension MainViewController: UITableViewDelegate {

    // ...

}