Swift中当你设置完UITableView
的代理和数据源
class ViewController: UIViewController,MAMapViewDelegate,AMapSearchDelegate,
UITableViewDelegate,UITableViewDataSource {
lazy var tableView: UITableView! = {
var tableView = UITableView(frame: CGRectZero, style: UITableViewStyle.Grouped)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.classForCoder(), forCellReuseIdentifier: "Cell")
return tableView
}()
}
并且你也添加了UITableViewSource
这个协议, 但仍然报下面的错误.
Type 'ViewController' does not conform to protocol 'UITableViewDataSource'
Why ?
因为你没有实现协议里面的Requred
方法, 所以提示抱错, 不过个人觉得这样的报错提示很不友好...
最后你的代码改成如下, 报错就会消失.
class ViewController: UIViewController,MAMapViewDelegate,AMapSearchDelegate,
UITableViewDelegate,UITableViewDataSource {
lazy var tableView: UITableView! = {
var tableView = UITableView(frame: CGRectZero, style: UITableViewStyle.Grouped)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.classForCoder(), forCellReuseIdentifier: "Cell")
return tableView
}()
//MARK: UITableViewDelegate
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
return cell
}
}