【发布时间】:2014-06-13 08:45:41
【问题描述】:
我想在我的应用程序中使用表格视图。但是当我向 UITableViewDataSource 确认我的视图控制器时,它会给出图像中显示的错误。如何在我们的类中使用 UITableViewDataSource 协议。
【问题讨论】:
我想在我的应用程序中使用表格视图。但是当我向 UITableViewDataSource 确认我的视图控制器时,它会给出图像中显示的错误。如何在我们的类中使用 UITableViewDataSource 协议。
【问题讨论】:
这不是指定协议一致性的正确方法。这是正确的语法。
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
// stuff
}
如果您仍然看到该错误,那是因为您的类没有实现这些委托的所需方法,在本例中是 numberOfRowsInSection.... 和 cellForRowAtIndexPath....
【讨论】:
我建议使用类扩展来符合协议,这种隔离使你的代码在你的类长大后更易于维护,例如:
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 {
// ...
}
【讨论】: