Создание имен классов из строк - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть массив таких строк:

tableArray: { "Map", "Web", "Help" + 10 other strings}

Массив используется для построения ячеек таблицы в UITableViewController.При касании я хочу, чтобы соответствующий контроллер представления отображался в методе didSelectRowAtIndexPath.

Вместо создания большого переключателя или оператора if .. then .. else можно ли как-то создать имя класса из приведенных выше строк, так что Map становится MapViewController:

MapViewController *detailViewController = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];

.. и «Web» создает WebViewController и т. д.

1 Ответ

1 голос
/ 12 сентября 2011
Class theClass = NSClassFromString(classNameStr);
id myObject = [[theClass alloc] init];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...