我试图将一个额外的参数传递给buttonClicked动作,但是无法计算出Swift中的语法。
button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
任何我的buttonClicked方法:
func buttonClicked(sender:UIButton) { println("hello") }
任何想法吗?
谢谢你的帮助。
您无法在中传递自定义参数addTarget:。另一种方法是设置tagbutton 的属性并根据标签进行工作。
addTarget:
tag
button.tag = 5 button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
或对于 Swift 2.2 及更高版本:
button.tag = 5 button.addTarget(self,action:#selector(buttonClicked), forControlEvents:.TouchUpInside)
现在基于tag属性做逻辑
@objc func buttonClicked(sender:UIButton) { if(sender.tag == 5){ var abc = "argOne" //Do something for tag 5 } print("hello") }