“#selector”的参数不能引用全局函数 (Swift)
Argument of '#selector' cannot refer to global function (Swift)
我正在尝试以编程方式将 UIBarButtonItem 添加到我的导航栏(有效),但是我无法执行该操作。我做错了什么?
我在viewDidLoad下有如下代码:
self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "visualise"), style: .plain, target: self, action: #selector(visualise(sender:)))
并且在 VC class 之外声明了以下函数:
func visualise(sender: UIBarButtonItem) {
// stuff to do once the button is tapped
}
我读了一些回答说函数不能是本地的,但这似乎没有帮助。
函数不能是“全局的”。这就是错误所说的。
如果您的函数是在视图控制器之外声明的,那么它就是全局的。
您只能从选择器调用实例(或静态)函数。
最简单的更改是将您的函数放在视图控制器中。
我正在尝试以编程方式将 UIBarButtonItem 添加到我的导航栏(有效),但是我无法执行该操作。我做错了什么?
我在viewDidLoad下有如下代码:
self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "visualise"), style: .plain, target: self, action: #selector(visualise(sender:)))
并且在 VC class 之外声明了以下函数:
func visualise(sender: UIBarButtonItem) {
// stuff to do once the button is tapped
}
我读了一些回答说函数不能是本地的,但这似乎没有帮助。
函数不能是“全局的”。这就是错误所说的。
如果您的函数是在视图控制器之外声明的,那么它就是全局的。
您只能从选择器调用实例(或静态)函数。
最简单的更改是将您的函数放在视图控制器中。