如何将动态命名的选择器添加到UIButton?

时间:2015-07-29 19:58:50

标签: ios objective-c 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”,但我也可以使用{{1}包含与选择器名称相关的字符串。我该怎样做这样的事情?

1 个答案:

答案 0 :(得分:0)

使用NSSelectorFromString()

for(UIButton *button in buttonArray){
    [button addTarget:self action:NSSelectorFromString(CUSTOM NAME HERE) forControlEvents:UIControlEventTouchUpInside];
}

如果使用:参数声明@IBAction,请不要忘记在选择器字符串的末尾添加sender