web-dev-qa-db-ja.com

Objective-Cでクラス名のNSStringからオブジェクトを作成する

NSStringにクラスの名前がある場合、あるクラスのオブジェクトを作成できるかどうか疑問に思っていました。これは、ActionScript、C#、PHPなどの他の言語で可能であることを知っています...

このようなもの:

NSString *className = @"AwesomeViewController";
UIViewController *object = [[className alloc] initWithNibName:className bundle:nil];
45
Sveinn Fannar

クラスもObjective-Cのファーストクラスのオブジェクトです。 NSClassFromString function を使用して、NSStringからクラスオブジェクトを取得できます。

[[NSClassFromString(className) alloc] init...]
104
kennytm