我正在使用iPhone SDK(3.0),并试图创建一个选择器的数组,以在一个类中调用各种方法。

显然,我在做错事(我认为@selector不被视为类,因此将其填充到NSArray中是行不通的)。

我试过了,但这显然是错误的。

是否有一种简单的方法来拥有这样的选择器数组?还是有更好的方法来遍历一组方法?

selectors = [NSArray arrayWithObjects:
                          @selector(method1),
                          @selector(method2),
                          @selector(method3),
                          @selector(method4),
                          @selector(method5),
                          @selector(method6),
                          @selector(method7), nil];

for (int i = 0; i < [selectors count]; i++) {
    if ([self performSelector:[selectors objectAtIndex:i]]) // do stuff;
}

最佳答案

您可以存储字符串并使用NSSelectorFromString吗?

docs

NSSelectorFromString

返回具有给定名称的选择器。
SEL NSSelectorFromString (
   NSString *aSelectorName
);

10-08 11:26