Xcode一次又一次显示错误“你想在Swift中添加协议存根吗?

时间:2018-04-20 09:39:41

标签: swift xcode

我正在使用Xcode 9.2。我正在为我的表视图添加一个可扩展的效果。我在viewDidLoad中设置了委托,并为可扩展委托协议扩展了视图控制器。

我的问题是Xcode显示“你想添加协议存根吗?”一次又一次错误消息,我已经通过单击“修复”按钮添加了2次。

有谁能告诉我我错过了什么?

class MenuController: UIViewController,MFMailComposeViewControllerDelegate {

    var coverView = UIView()

    @IBOutlet weak var tblViewMenu: ExpandableTableView!

override func viewDidLoad() {
        super.viewDidLoad()
        revealViewController().revealToggle(animated: false)

 tblViewMenu.expandableDelegate = self as! ExpandableTableViewDelegate
        tblViewMenu.register(UINib(nibName: "ExpandCell1", bundle: nil), forCellReuseIdentifier: "ExpandCell1")
    }
}

扩展

extension MenuController: ExpandableDelegate {

    func expandableTableView(_ expandableTableView: ExpandableTableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell:ExpandCell1 = tblViewMenu.dequeueReusableCell(withIdentifier: "ExpandCell1") as! ExpandCell1
        cell.textLabel?.text = "TableViewCellMain"           
        return cell
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 44
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, expandedCellsForRowAt indexPath: IndexPath) -> [UITableViewCell]? {
        let cell:CellTableView1 = tblViewMenu.dequeueReusableCell(withIdentifier: "CellTableView1") as! CellTableView1
        cell.textLabel?.text = "CellTableView1"
        return [cell]
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, heightsForExpandedRowAt indexPath: IndexPath) -> [CGFloat]? {
         return [200]
    }

    func numberOfSections(in tableView: ExpandableTableView) -> Int {
        return 1
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, didSelectRowAt indexPath: IndexPath) {
        //        print("didSelectRow:\(indexPath)")
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, didSelectExpandedRowAt indexPath: IndexPath) {
        //        print("didSelectExpandedRowAt:\(indexPath)")
    }

    func expandableTableView(_ expandableTableView: ExpandableTableView, expandedCell: UITableViewCell, didSelectExpandedRowAt indexPath: IndexPath) {

    }

    func expandableTableView(_ expandableTableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool {
        return true
    }

    func expandableTableView(_ expandableTableView: UITableView, didUnhighlightRowAt indexPath: IndexPath) {

    }
}

截图

screenshot of the error

1 个答案:

答案 0 :(得分:0)

这是一个Xcode错误。项目将正确构建并运行,但错误仍然存​​在。如果您想摆脱错误,清理项目。如果这没有帮助,请退出Xcode和delete the DerivedData folder