Создать объект из NSString имени класса в Objective-C - PullRequest
45 голосов
/ 01 июня 2010

Мне было интересно, смогу ли я создать объект некоторого класса, если у меня есть имя класса в строке NSString. Я знаю, что это возможно в других языках, таких как ActionScript, C # и PHP ...

Примерно так:

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

1 Ответ

104 голосов
/ 01 июня 2010

Классы также являются первоклассными объектами в Objective-C. Вы можете получить объект класса из строки NSString с помощью функции NSClassFromString .

[[NSClassFromString(className) alloc] init...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...