swift——可变按钮动作

swift——可变按钮动作,swift,Swift,我想问一个简单的问题: 如何在创建按钮时为操作指定变量 如果要创建按钮,请使用: newButton.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside) 在Object-c上我做到了 NSString *selectorName = [NSString stringWithFormat:@"Button%d:",index+1]; [newButton addTa

我想问一个简单的问题: 如何在创建按钮时为操作指定变量

如果要创建按钮,请使用:

 newButton.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
在Object-c上我做到了

NSString *selectorName = [NSString stringWithFormat:@"Button%d:",index+1];

[newButton addTarget:self action:NSSelectorFromString(selectorName) forControlEvents:UIControlEventTouchUpInside];

在Swift?

上,您可以将Swift选择器结构存储为变量

let sel : Selector = "buttonTapped:"
button.addTarget(self, action: sel)
如果希望选择器中包含变量,只需将变量添加到字符串中,如下所示:

let sel : Selector = "button\(buttonNumber)tapped"
这利用了选择器对StringLiteralConvertible的采用


选择器在。

使用NSSelectorFromString中提到

let sel = NSSelectorFromString("Button\(index+1)")

newButton.addTarget(self, action: sel, forControlEvents:UIControlEvents.TouchUpInside)