'#selector'的参数不能引用全局函数(Swift)



我正在尝试以编程方式将 UIBarButtonItem 添加到我的导航栏(有效(,但是我无法让操作工作。我做错了什么?

我在viewDidLoad下有以下代码:

self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "visualise"), style: .plain, target: self, action: #selector(visualise(sender:)))

以及在 VC 类外部声明的以下函数:

func visualise(sender: UIBarButtonItem) {
// stuff to do once the button is tapped
}

我读了一些答案,说该函数不能是本地的,但这似乎没有帮助。

函数不能是"全局的"。这就是错误所说的。

如果您的函数是在视图控制器外部声明的,那么它是全局的。

只能从选择器调用实例(或静态(函数。

最简单的更改是将函数放在视图控制器中。

最新更新