您好我不知道如何在Swift中为@IBAction自动调用click-function。
说,我有一个计时器功能,当倒计时结束时,我需要以编程方式调用Click-function @IBAction,而不是要求用户点击按钮
如何在swift中完成?
@IBAction func DoSomeTask(sender: UIButton) { - code-- }
答案 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及更高版本中