Objective C calling method dynamically with a string
Solution 1:
You can try something like
SEL s = NSSelectorFromString(selectorName);
[anObject performSelector:s];
Solution 2:
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);