Swift #选择器未解析标识符函数

Swift #选择器未解析标识符函数,swift,Swift,在init函数中#选择器似乎找不到调用函数 这是上课时间 import UIKit protocol ExpandableHeaderViewDelegate { func toggleSection(header: ExpandableHeaderView, section: Int) } class ExpandableHeaderView: UITableViewHeaderFooterView { var delegate: ExpandableHeaderViewDelegate?

在init函数中#选择器似乎找不到调用函数

这是上课时间

import UIKit

protocol ExpandableHeaderViewDelegate {
func toggleSection(header: ExpandableHeaderView, section: Int)
}

class ExpandableHeaderView: UITableViewHeaderFooterView {
var delegate: ExpandableHeaderViewDelegate?
var section: Int!

@IBOutlet weak var titleLabel: UILabel!

  override init(reuseIdentifier: String?){
    super.init(reuseIdentifier: reuseIdentifier)
    self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(selectHeaderView(_:))))

}

@objc func selectHeaderView(gesture: UITapGestureRecognizer){
    let cell = gesture.view as! ExpandableHeaderView
    delegate?.toggleSection(header: self, section: cell.section)
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(selectHeaderView(_:))))
}


func custonInt(title: String, section: Int, delegate:   ExpandableHeaderViewDelegate){

    self.titleLabel.text = title
    self.section = section
    self.delegate = delegate
}

override func layoutSubviews(){
    super.layoutSubviews()
    self.titleLabel.textColor = UIColor.white
    self.contentView.backgroundColor = UIColor.darkGray
}
}

以下是错误:

Use of unresolved identifier 'selectHeaderView'
init函数添加手势识别器找不到selectHeaderView。它的行为就好像它不是班级的一部分。我做错了什么?

更改此选项:

self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(selectHeaderView(_:))))
致:


您的类确实没有名为
selectHeaderView(:)
的方法<代码>选择HeaderView(:)。但是,您的类确实有一个方法
selectHeaderView(手势:)
。在这种情况下,参数标签很重要<代码>\:表示没有外部参数标签

你应该写

#selector(selectHeaderView(gesture:))
您还可以让Swift决定参数标签

#selector(selectHeaderView)
或者只需
#选择器(selectHeaderView)
#selector(selectHeaderView)