目前我有一个ViewController,它有一个TableView和一个包含back按钮的自定义头。我想从header类中说的是,ViewController必须返回到上一个ViewController。我面临的问题是,我正在调整协议,按钮的动作被接收到,但是调试器没有转到dispose函数。代码如下:
protocol StoresFilterHeaderViewDelegate: class {
func onBackButtonTap();
}
class StoresFilterHeaderView: UICollectionReusableView {
weak var delegate: StoresFilterHeaderViewDelegate?;
@IBOutlet weak var lbSubcategory: UILabel!
@IBOutlet weak var ivSubcategory: UIImageView!
// MARK: Actions
@IBAction func onBackToMomentDetailButtonTap(_ sender: AnyObject) {
self.delegate?.onBackButtonTap();
print("button pressed");
}
}
“按钮按下”印刷良好
class StoresFilterViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, StoresFilterHeaderViewDelegate {
func onBackButtonTap() {
print("segueback")
}
“segueback”未打印
最佳答案
创建headerview时,将其委托设置为self。
headerView.delegate = self
您应该在初始化
headerView
后在StoresFilterViewController
中添加此项