如何将动态命名的选择器添加到 UIButton?
How to add dynamically-named selector to a UIButton?
我想通过在迭代 for
循环时动态生成按钮的选择器名称来将目标添加到 UIButtons。到目前为止,我的 NSArray
为 3 UIButtons
:
NSArray *buttonArray = @[email, webPage, textMessage];
我现在想做类似的事情:
for(UIButton *button in buttonArray){
[button addTarget:self action:@selector(CUSTOM NAME HERE) forControlEvents:UIControlEventTouchUpInside];
}
如果我可以根据按钮的名称动态地形成自定义名称就好了(例如选择器的名称将是按钮名称 + "ButtonProc",但我也可以使用NSArray
包含与选择器名称相关的字符串。我该怎么做?
for(UIButton *button in buttonArray){
[button addTarget:self action:NSSelectorFromString(CUSTOM NAME HERE) forControlEvents:UIControlEventTouchUpInside];
}
如果您的@IBAction 是使用 sender
参数声明的,请不要忘记在选择器字符串的末尾添加 :
。
我想通过在迭代 for
循环时动态生成按钮的选择器名称来将目标添加到 UIButtons。到目前为止,我的 NSArray
为 3 UIButtons
:
NSArray *buttonArray = @[email, webPage, textMessage];
我现在想做类似的事情:
for(UIButton *button in buttonArray){
[button addTarget:self action:@selector(CUSTOM NAME HERE) forControlEvents:UIControlEventTouchUpInside];
}
如果我可以根据按钮的名称动态地形成自定义名称就好了(例如选择器的名称将是按钮名称 + "ButtonProc",但我也可以使用NSArray
包含与选择器名称相关的字符串。我该怎么做?
for(UIButton *button in buttonArray){
[button addTarget:self action:NSSelectorFromString(CUSTOM NAME HERE) forControlEvents:UIControlEventTouchUpInside];
}
如果您的@IBAction 是使用 sender
参数声明的,请不要忘记在选择器字符串的末尾添加 :
。