1

我以编程方式制作了一个按钮,我正在向按钮添加一个操作,如下所示:

[button1 addTarget:self action:@selector(button1) forControlEvents:UIControlEventTouchUpInside];

但我想用带有格式的字符串命名选择器。我试过这样:

[b4 addTarget:self action:@selector([NSString stringWithFormat@"button%i", i]) forControlEvents:UIControlEventTouchUpInside];

当然这不起作用,但是我可以做一些类似的事情来完成这项工作吗?如果你明白我的问题..

4

1 回答 1

14

这将起作用:

NSString *selName = [NSString stringWithFormat@"button%i", i];
SEL selector = NSSelectorFromString(selName);

[button1 addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];

但我必须问你为什么要这样做。您是否要处理多个按钮?这可以通过所有按钮的单个选择器轻松完成。给每个按钮自己的标签。然后按钮选择器可以检查发件人的标签。

于 2013-02-19T17:18:47.860 回答