我试图通过UIBarButtonItem
作为参数, 但我得到以下错误:如何传递参数给法“#selector”
Argument of '#selector' does not refer to an '@objc' method, property, or initializer
@objc func barClicked(sender: AnyObject) {
}
override func viewDidLoad() {
super.viewDidLoad()
let bar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 50))
bar.barStyle = UIBarStyle.default
bar.items = [
UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(barClicked(sender: bar.items[0])))]
bar.sizeToFit()
}
也试过#selector(barClicked(sender: bar.items[0] as AnyObject
谢谢
请看看“相关”部分,这已经被反复询问和回答。你*不能*在选择器中传递参数。 –
仅供参考 - 该按钮将是参数。你不需要自己指定它。 – rmaddy
@MartinR谢谢,是否有其他解决方案? –