I'm using the iPhone SDK (3.0) and I'm trying to create an array of selectors to invoke a variety of methods within one class.
Obviously, I'm doing something wrong (I think @selector isn't considered a class and so stuffing them into an NSArray isn't working).
I tried this, but it's obviously wrong.
Is there a simple way to have an array of selectors like this? Or is there a better way to iterate through a collection of methods?
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;
}
Could you store strings and use NSSelectorFromString?
From the docs
NSSelectorFromString
Returns the selector with a given name.
SEL NSSelectorFromString (
NSString *aSelectorName
);