最佳答案
我正在尝试将我项目的源代码从 Swift 3转换成 Swift 4。Xcode 给我的一个警告是关于我的选择器。
例如,我使用常规选择器向按钮添加一个目标,如下所示:
button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)
这是它所显示的警告:
“ # selector”的参数引用“ ViewController”中的实例方法“ myAction ()”,该方法依赖于 Swift 4中不推荐的“@objecc”属性推断
添加“@objecc”将此实例方法公开给 Objective-C
现在,在错误消息上按 Fix
会对我的函数造成这样的影响:
// before
func myAction() { /* ... */ }
// after
@objc func myAction() { /* ... */ }
我真的不想重命名我的所有函数,以包括 @objc
标记,我假设这是没有必要的。
如何重写选择器以处理弃用?
相关问题: