我正在尝试将我的项目源代码从Swift 3转换为Swift 4.一个警告Xcode给我的是我的选择器.
例如,我使用常规选择器将按钮添加到按钮,如下所示:
button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)
Run Code Online (Sandbox Code Playgroud)
这是它显示的警告:
'#selector'的参数是指'ViewController'中的实例方法'myAction()',它取决于Swift 4中不推荐使用的'@objc'属性推断
添加'@objc'以将此实例方法公开给Objective-C
现在,点击Fix错误消息对我的函数执行此操作:
// before
func myAction() { /* ... */ }
// after
@objc func myAction() { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
我真的不想重命名我的所有函数来包含@objc标记,我假设没有必要.
如何重写选择器来处理弃用?
相关问题: