segunda-feira, 31 de março de 2014

Chamar métodos através de um NSString passando Nenhum, Um ou Mais Parâmetros

Nenhum Parâmetro e Sem Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"someMethod"); 
IMP imp = [_controller methodForSelector:selector]; 
void (*func)(id, SEL) = (void *)imp; 
func(_controller, selector);

Um ou Mais Parâmetros e Com Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"processRegion:ofView:");
IMP imp = [_controller methodForSelector:selector];
CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp;
CGRect result = func(_controller, selector, someRect, someView);

Fonte: Stack Overflow