我一直在使用选择器,甚至在迁移到Swift之后我能够毫无问题地使用它们.这就是我在Swift 2上使用的方式没有问题,直到我将Xcode更新到7.3版:
正如使用可以看到我使用选择器与NSTimer.
这是被称为的动作:
func Start () {
}
Run Code Online (Sandbox Code Playgroud)
如您所见,Xcode 7.3现在发出警告"没有用Objective-C选择器声明的方法".通过单击警告,Xcode通过添加"Selector"快速修复代码,但我仍然得到相同的警告:
ogr*_*res 89
从Swift 2.2/Xcode 7.3开始,有一种使用选择器的新方法:
Selector("funcName")
改为#selector(ClassName.funcName)
看看https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md,
TL;博士;
替换Selector("Start")
为#selector(YOUR_CLASS.Start)
其中YOUR_CLASS =给定上下文中的目标类.
如果你不想手动操作,默认情况下Xcode提供了简单的修复,当你遇到以下情况时,点击黄色三角形(有时需要点击/点击多次),
归档时间: |
|
查看次数: |
24870 次 |
最近记录: |