我正在使用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) {
}
}
截图
答案 0 :(得分:0)
这是一个Xcode错误。项目将正确构建并运行,但错误仍然存在。如果您想摆脱错误,清理项目。如果这没有帮助,请退出Xcode和delete the DerivedData folder。