HogeViewController.swift
protocol HogeDelegate: class {
func huga()
}
class HogeViewController: UIViewController,UITableViewDelegate, UITableViewDataSource{
weak var delegate:
func tableView(didSelectRowAt){
self.delegate?.huga()
}
}
HogeTableViewCell.swift
class HogeTableViewCell: UITableViewCell, HogeDelegate{
func huga(){
print("huga")
}
}
不要运行此代码...
这写不可能吗?
答案 0 :(得分:2)
v
不是func tableView(didSelectRowAt)
方法的签名,所以不,它永远不会被调用。您的功能签名需要
UITableViewDelegate
更好的是,不要让您的课程扩展func tableView(_ tableView: UITableView, didSelectRowAt rowIndex: Int)
并实施UIViewController
数据源和委托,只需让您的课程扩展UITableView
,已经实现数据源和委托,因此将强制您使用UITableViewController
修饰符,如
override
答案 1 :(得分:0)
由于单元格是可变的,因此它似乎是一个无法通过委托实现方法的规范。