9
Come posso invocare un metodo in fase di esecuzione su una classe Objective-C, quando tutto quello che ho è che è firma in forma di stringa:Invocare un metodo di Objective-C per nome
NSString* typeName = @"Widgets";
NSString* methodName = [NSString stringWithFormat:@"add%@Object:", typeName];
Si noti che il nome del metodo può cambiare in fase di esecuzione ma il numero di argomenti rimane fisso, uno in questo caso.
Non dimenticare NSInvocation per quando sono necessari più di 2 parametri. – dreamlax
Se si utilizza 'performSelector: withObject:', assicurarsi di terminare il nome del metodo con due punti. Il nome del metodo senza due punti corrisponde a un metodo senza parametri. –
Grazie [dreamlax] (http://stackoverflow.com/users/10320/dreamlax) !. Ecco una [risposta completa] (http://stackoverflow.com/a/313455/1121497) su 'NSInvocation'. –