【发布时间】:2016-04-14 16:18:59
【问题描述】:
我正在以编程方式创建一个视图,并添加一个函数,以便该操作响应 UIControlEvents.TouchUpInside 事件:
button.addTarget(self, action: action, forControlEvents:
UIControlEvents.TouchUpInside)
因此,通过查看文档,我已将此操作添加为选择器:
#selector(ViewController.onRegularClick)
XCode 然后抱怨:
#selector 的参数指的是不暴露于 目标-C
所以我必须设置处理函数:
@objc func onRegularClick(sender: UIButton)
有人可以通过指导我查看文档来把这个菜鸟放在正确的方向上,或者甚至给出一个简短的解释,关于:
- 为什么我不能再简单地将函数名称字符串传递给操作?
- 遵循 Swift 方式的正确方法是什么?使用 Selector 类?
- 为什么我们需要传递@objc 关键字以及它如何影响函数?
谢谢!
【问题讨论】:
-
您可以在New Features in Swift 2.2查看详情