¿Cómo puedo invocar un método en tiempo de ejecución en una clase de Objective-C, cuando todo lo que tengo es que es la firma en forma de cadena:La invocación de un método de Objective-C por su nombre
NSString* typeName = @"Widgets";
NSString* methodName = [NSString stringWithFormat:@"add%@Object:", typeName];
Tenga en cuenta que el nombre del método puede cambiar en tiempo de ejecución, pero el número de argumentos permanece fijo, uno en esta instancia.
No se olvide de NSInvocation para cuando necesite más de 2 parámetros. – dreamlax
Si usa 'performSelector: withObject:', asegúrese de finalizar el nombre de su método con dos puntos. El nombre del método sin dos puntos coincide con un método sin parámetros. –
Gracias [dreamlax] (http://stackoverflow.com/users/10320/dreamlax) !. Aquí una [respuesta completa] (http://stackoverflow.com/a/313455/1121497) sobre 'NSInvocation'. –