NSObjectFromString ... Есть ли способ сделать это? - PullRequest
3 голосов
/ 22 января 2010

Итак, Objective-C имеет эти приятные функции NSClassFromString() и NSProtocolFromString(), которые возвращают класс или протокол из переданного имени строки. Есть ли способ сделать это с объектом?

Ответы [ 3 ]

5 голосов
/ 22 января 2010

Нет, потому что объекты не имеют канонических имен или строковых представлений. С классом либо есть класс с именем "NSWindow", либо его нет. С объектами это соответствие на самом деле не применимо. Если вы хотите сериализовать объект, ознакомьтесь с протоколом NSCoding и сопровождающей документацией .

0 голосов
/ 16 ноября 2011

Если вы хотите создать экземпляр объекта, вы также можете сделать это

Class class = NSClassFromString(className);
id object = [class new];
0 голосов
/ 22 января 2010

Самая близкая вещь, о которой я могу подумать, это -description, но я подозреваю, что вы ищете больше интроспекции для всех участников, чем базовое описание. Если да, то вы получите ответ Чака , потому что вам нужно сериализовать / десериализовать.

...