命名选择器与字符串

时间:2013-02-19 17:16:47

标签: ios objective-c

我已经以编程方式创建了一个按钮,我正在向按钮添加一个动作,如下所示:

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

但我想用一个格式化的字符串命名选择器..我试过这样:

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

当然这不起作用,但有什么类似我可以做的工作吗?如果你理解我的问题..

1 个答案:

答案 0 :(得分:14)

这将有效:

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

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

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