Convert a string ("MyExampleClass") into a class name (MyExampleClass)
cocoa, objective-c, objective-c-runtime
Solution
Here's what you'd want:
Class theClass = NSClassFromString(classNameStr);
id myObject = [[theClass alloc] init];
Note that you can't use `theClass` as a type name (i.e. `theClass *myObject`). You'll have to use `id` for that.
Problem
I want to convert a string to a class name. Imagine that I have a string, which changes, containing a class name, for example, the string `"MyExampleClass"`. Now, I want to create an object of the class `MyExampleClass`. I have to get the class name from the string. I want to do something like the following. (Consider the code just as a sketch.) ``` NSString *classNameStr = "MyExampleClass"; id theClass = [UIClass classFromString:classNameStr]; theClass *myObject = [[theClass alloc] init]; ``` What is the right way to do this?