TableViewDataSource和UITableViewD

TableViewDataSource和UITableViewD

extension FormViewController : UITableViewDelegate {
    public func tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath?
    public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
    public func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
    public func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
    public func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
    public func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView?
    public func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
    public func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat
}

extension FormViewController : UITableViewDataSource {
    public func numberOfSectionsInTableView(tableView: UITableView) -> Int
    public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    public func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
    public func tableView(tableView: UITableView, titleForFooterInSection section: Int) -> String?
}

class NotifiableFormViewController: FormViewController

为什么我不能实现和重写数据源和TableViewDelegate?错误:“方法不重写其任何超类方法”
class FriendsTableViewController: NotifiableFormViewController{
    override func numberOfSections(in tableView: UITableView) -> Int {
        return 3
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    override func tableView(tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath)

        cell.textLabel?.text = "Section \(indexPath.section) Row \(indexPath.row)"

        return cell
    }

    override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return "Section \(section)"
    }
}

最佳答案

更简单地说,删除单词override因为您没有重写该方法,而是实现了它

关于swift - 无法覆盖UITableViewDataSource和UITableViewDelegate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41869177/

10-12 01:53