如何自动调用@IBAction函数

时间:2015-06-29 12:08:21

标签: ios swift

您好我不知道如何在Swift中为@IBAction自动调用click-function。

说,我有一个计时器功能,当倒计时结束时,我需要以编程方式调用Click-function @IBAction,而不是要求用户点击按钮

如何在swift中完成?


@IBAction func DoSomeTask(sender: UIButton) {

- code--

}

3 个答案:

答案 0 :(得分:32)

您可以通过将其参数设置为可选来更改IBAction的签名,如下所示:

@IBAction func doSomeTask(sender: UIButton?) {
    // code
}

然后用nil作为参数调用它:

doSomeTask(nil)

或者您可以将IBAction用作实际功能的包装器:

func doSomeTaskForButton() {
    // ...
}

@IBAction func doSomeTask(sender: UIButton) {
    doSomeTaskForButton()
}

意味着您可以随时随地拨打doSomeTaskForButton()

答案 1 :(得分:0)

做与@Moritz所说的相同的事情,而是

@IBAction func doSomeTask(sender: UIButton? = nil) {
    // code
}

这样,您可以执行以下操作:

 `doSomeTask()`

说的和说的一样

 `doSomeTask(sender:nil)

或传递UIButton对象(如果您愿意)。

 doSomeTask(sender:SomeUIButton)

答案 2 :(得分:0)

doSomeTask(UIButton())在Swift 5.0及更高版本中