Objective C calling method dynamically with a string Objective C calling method dynamically with a string objective-c objective-c

Objective C calling method dynamically with a string


You can try something like

SEL s = NSSelectorFromString(selectorName);[anObject performSelector:s];


You can use the objc_msgSend function. It takes two parameters, the receiver and the selector to send to it:

objc_msgSend(self, someSelector);

You'll need to turn your string into the appropriate selector using NSSelectorFromString:

NSString *message = [self getSomeSelectorName];objc_msgSend(self, message);

The method also takes a variable number of arguments, so you can send messages with any number of arguments.

NSString *message = [self getSomeSelectorNameWithManyArguments];objc_msgSend(self, message, arg1, arg2, arg3, arg4);