Если myArray
- это массив NSStrings
, который вы хотите использовать в качестве селекторов, тогда вы можете использовать NSSelectorFromString
:
[myButton addTarget:self action:NSSelectorFromString([myArray objectAtIndex:0]) forControlEvents:UIControlEventTouchUpInside];
Или, если вы хотите сохранить селекторы в NSArray
, вы должны обернуть их в NSValue
, потому что SEL
не является объектом Objective-C:
NSValue* selCommandA = [NSValue valueWithPointer:@selector(handleCommandA:)];
NSValue* selCommandB = [NSValue valueWithPointer:@selector(handleCommandB:)];
NSArray *handlers = [NSArray arrayWithObjects:selCommandA, selCommandB, nil ];
SEL mySelector = [[handlers objectAtIndex:0] pointerValue];
[myButton addTarget:self action:mySelector forControlEvents:UIControlEventTouchUpInside];