我已经以编程方式创建了一个按钮,我正在向按钮添加一个动作,如下所示:
[button1 addTarget:self action:@selector(button1) forControlEvents:UIControlEventTouchUpInside];
但我想用一个格式化的字符串命名选择器..我试过这样:
[b4 addTarget:self action:@selector([NSString stringWithFormat@"button%i", i]) forControlEvents:UIControlEventTouchUpInside];
当然这不起作用,但有什么类似我可以做的工作吗?如果你理解我的问题..
答案 0 :(得分:14)
这将有效:
NSString *selName = [NSString stringWithFormat@"button%i", i];
SEL selector = NSSelectorFromString(selName);
[button1 addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];
但我必须问你为什么要这样做。你想要处理几个按钮吗?使用单个选择器可以轻松完成所有按钮。给每个按钮自己的标签。然后按钮选择器可以检查发件人的标签。