【发布时间】:2016-03-22 22:14:30
【问题描述】:
我正在将项目的语法切换到 Swift 2.2(xCode 帮助我自动完成);但是,我不理解新的#selector() 语法。
举个例子:
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self,
selector: #selector(MyVC.timerCalled(_:)), //new selector syntax!
userInfo: nil, repeats: true)
这有选择器#selector(MyVC.timerCalled(_:))
_: 表示什么?你能在这个选择器中添加其他变量吗?说,#MyVC.timerCalled(_:whateverVar)。
非常感谢有关此语法与早期 Swift 版本中基于字符串的实现的不同之处的一般信息。
【问题讨论】:
-
我想我在这里解释得很好:stackoverflow.com/questions/35658334/…
-
@matt 的回答更彻底地解决了语法问题,包括对处理重载方法的有用讨论。