当您将按钮附加到viewController
并创建一个动作(IBAction
)使用 ctrl-drag,您可以创建一个在 Swift 中如下所示的方法(如果它没有参数):
@IBAction func buttonAction() {}
在 Objective-C 中,同样的事情看起来像这样:
- (IBAction)buttonAction {}
所以这意味着@IBAction func OK(sender: UIButton){}
是一种行动方法。
如果您想了解发件人参数,我建议this https://stackoverflow.com/questions/29174015/when-do-we-need-button-to-send-argument-in-swift所以帖子。
Edit:
对于你想做的事,我创建了一个IBOutlet
and an IBAction
,这样我就可以用outlet变量改变它的属性,并用IBAction
,就像上面显示的那样:
@IBOutlet var OK: UIButton!
@IBAction func OK(sender: UIButton){}
例如,如果我想隐藏按钮,我会将这段代码放在viewDidLoad
OK.hidden = true
该代码中的 OK 用于输出变量,如果我想在按下按钮时将“You Pressed me”打印到控制台,我将使用以下代码:
@IBAction func OK(sender: UIButton){
println("You pressed me")
}
上面我使用该操作将“You Pressed me”打印到控制台。
有几点需要注意:
当 Swift 2.0 发布时println
将被更改为print
。另外,对于你的行动和出口,我建议给它们不同的名称,以便更容易区分两者,如下所示:
@IBOutlet var okOutlet: UIButton!
@IBAction func okAction(sender: UIButton){}
除此之外,在命名变量、常量、函数等时应该使用驼峰式大小写。