Reputation: 762
I was wondering if i could create a object of some class if i have the name of the class in a NSString. I know this is possible in other languages like ActionScript, C# and PHP...
Something like this:
NSString *className = @"AwesomeViewController";
UIViewController *object = [[className alloc] initWithNibName:className bundle:nil];
Upvotes: 45
Views: 22395
Reputation: 523224
Classes are first-class objects in Objective-C too. You can get the class object from an NSString with the NSClassFromString function.
[[NSClassFromString(className) alloc] init...]
Upvotes: 105