Sveinn Fannar
Sveinn Fannar

Reputation: 762

Create object from NSString of class name in Objective-C

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

Answers (1)

kennytm
kennytm

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

Related Questions