【问题标题】:Selector syntax for swift 3.0 [duplicate]swift 3.0的选择器语法[重复]
【发布时间】:2017-01-05 10:43:54
【问题描述】:

我正在尝试以这种方式将目标添加到按钮中:

btnAll.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside)

但它给了我一个错误:

使用未解析的标识符“buttonTapped”

但我声明的函数如下:

func buttonTapped(sender: UIButton) {

    print("All Tapped")
}

谁能告诉我在 swift 3 中执行此操作的正确方法是什么。

【问题讨论】:

  • 向我们展示您的 buttonTapped 方法。 IBAction 方法可以有 0、1 或 2 个参数,具体取决于您如何设置它们,我们无法知道您使用的是什么形式。

标签: ios iphone swift swift3 uibutton


【解决方案1】:

添加目标,

现在应该写成#selector(buttonTapped(sender:)) 或使用#selector(buttonTapped(_:))

btnAll.addTarget(self, action: #selector(buttonTapped(_:)), for: .touchUpInside)

然后改变你的功能,

@objc func buttonTapped(_ sender : UIButton){

 ....
 }

【讨论】:

  • 这是我已经回答的问题了.. :)
  • 将函数更改为@objc
  • 对不起,我的意思是,在协议扩展中需要将函数更改为@objc
【解决方案2】:

你可以这样做:

btnAll.addTarget(self, action: #selector(buttonTapped(sender:)), for: .touchUpInside)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多