我想在我的应用程序中使用表视图。但是当我将视图控制器确认为UITableViewDataSource时,它会在图像中显示错误。如何在我们的课程中使用UITableViewDataSource协议。
答案 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 {
// ...
}