我正在尝试按照表格视图教程,但我在我的类声明行中出现错误,其中说:“type”ViewController“不符合协议”UITableViewDataSource“”这里是我的代码:< / p>
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
private let dwarves = ["Sleepy", "Sneezy", "Bashful", "Happy", "Doc", "Grumpy", "Dopey", "Thorin", "Dorin", "Nori", "Ori", "Balin", "Dwalin", "Fili", "Kili", "Oin", "Gloin", "Bifur", "Bofur", "Bombur"]
let simpleTableIdentifier = "SimpleTableIdentifier"
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier(simpleTableIdentifier) as? UITableViewCell
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: simpleTableIdentifier)
}
cell!.textLabel!.text = dwarves[indexPath.row]
return cell!
}
}
答案 0 :(得分:3)
你错过了功能tableView(tableView: UITableView, numberOfRowsInSection secion: Int) -> Int {}
这对于tableview来说是必要的。
所以只需将其添加到您的代码中:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return count(dwarves)
}
答案 1 :(得分:0)
您缺少数据源协议所需的方法: tableView:numberOfRowsInSection:
请参阅:$sum
答案 2 :(得分:0)
UITableViewDataSource有两个必需的方法:
tableView:cellForRowAtIndexPath:
和
tableView:numberOfRowsInSection:
两者都需要实施。
你错过了第二个。
您可以在此处找到有关UITableViewDataSource的更多信息:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDataSource_Protocol/