swift - Xcode 一次又一次地显示错误“你想在 Swift 中添加协议(protocol) stub 吗?”

标签 swift xcode

我使用的是 Xcode 9.2。我正在为我的表格 View 添加可扩展效果。我在 viewDidLoad 中设置了委托(delegate),并为可扩展委托(delegate)协议(protocol)扩展了 View Controller 。

我的问题是 Xcode 显示“您想添加协议(protocol) stub 吗?”一次又一次的错误消息,我已经通过单击“修复它”按钮添加了两次。

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

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

最佳答案

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

关于swift - Xcode 一次又一次地显示错误“你想在 Swift 中添加协议(protocol) stub 吗?”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49938639/

相关文章:

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

swift - 导航按钮需要从最后一个 View 转到第一个 View

ios - Xcode:哪些文件需要成为我的目标的成员? (目标成员(member))

具有 iphoneos 和 iphonesimulator 架构的 iOS 通用框架

ios - NSSortDescriptor 与关系

ios - 使用 nib ViewControllers 设置 UITabBarController

objective-c - NSStackView 和内容拥抱优先级

ios - 从数组快速更改 UICollectionViewCell 中的 UIImage

ios - tableViewCell 中的 UIButtons,如何使用 Swift 从 Parse 获取已经关注的用户

ios - 手动将数组输入 UiTableview