swift--变量按钮动作
问题描述:
我想问一个简单的问题: 如何在创建按钮时给动作赋予一个变量?swift--变量按钮动作
如果创建按钮使用:
newButton.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
上对象的C我做
NSString *selectorName = [NSString stringWithFormat:@"Button%d:",index+1];
[newButton addTarget:self action:NSSelectorFromString(selectorName) forControlEvents:UIControlEventTouchUpInside];
和斯威夫特?
答
您可以将Swift Selector结构存储为变量。
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)
非常感谢你!!!! – user2244770 2014-10-03 22:10:52