当您将一个按钮附加到 viewController 并使用 ctrl-drag 创建一个操作 (IBAction) 时,您会创建一个在 Swift 中看起来像这样的方法(如果它没有参数):
@IBAction func buttonAction() {}
在 Objective-C 中,同样的事情看起来像这样:
- (IBAction)buttonAction {}
所以这意味着@IBAction func OK(sender: UIButton){} 是一个动作方法。
如果您想了解 sender 参数,我会推荐this SO post。
编辑:
对于你想做的事情,我创建了一个IBOutlet 和一个IBAction,这样我就可以用outlet 变量来改变它的属性,并且用IBAction 来做一些事情,就像你做的那样如上所示:
@IBOutlet var OK: UIButton!
@IBAction func OK(sender: UIButton){}
例如,如果我想隐藏按钮,我会将这段代码放在viewDidLoad中
OK.hidden = true
该代码中的 OK 用于 outlet 变量,如果我想在按下按钮时将“You press me”打印到控制台,我会使用此代码:
@IBAction func OK(sender: UIButton){
println("You pressed me")
}
上面我正在使用操作将“You press me”打印到控制台。
需要注意的几点:
当 Swift 2.0 发布时,println 将更改为 print。还有你的行动和出口,我建议给它们起不同的名字,以便更容易区分两者,如下所示:
@IBOutlet var okOutlet: UIButton!
@IBAction func okAction(sender: UIButton){}
除此之外,在命名变量、常量、函数等时应使用驼峰式命名。