Dynamically call static method on class from string

objective-c

Solution

Class class = NSClassFromString(@"MyClass");
SEL selector = NSSelectorFromString(@"doSomething");
[class performSelector:selector];

This will get you a warning "PerformSelector may cause a leak because its selector is unknown", which you can ignore like this (see this question for details):

Class class = NSClassFromString(@"MyClass");
SEL selector = NSSelectorFromString(@"doSomething");    

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[class performSelector:selector];
#pragma clang diagnostic pop

Problem

I have two strings: ``` NSString * className = "MyClass"; NSString * methodName = "doSomething"; ``` MyClass class definition and static method doSomething also exists. How can I trigger [MyClass doSomething] dynamically, from two strings?

Original source

Related problems