objective c dynamic object creation
class, creation, objective-c
Solution
You can get a class by its name using one of the following obj-c runtime functions (you may need to import header:
id objc_lookUpClass(const char *name)
id objc_getClass(const char *name)
So your code may look like (have not tested it though):
NSString * className = @"TestObject";
id theObject = nil;
Class myClass = objc_lookUpClass([className UTF8String]);
if (myClass)
theObject = [[myClass alloc] init];
Problem
Quick question for you. I want to be able to create an instance of an object. The object type is based of a string. In php you can just replace the class name with a string, but I doubt it is that easy in Objective c. ``` NSString * className; id theObject; className = @"TestObject"; theObject = [[className alloc] init]; ``` here is a break down of what it might look like. I want to try and avoid using a giant case style statement. Is it possible to use the selector system for this? any ideas? Cheers