2010-01-22 4 views
3

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

+0

Вы можете сохранить его как «ид» .. хех –

ответ

5

Нет, поскольку объекты не имеют канонических имен или строковых представлений. С классом существует либо класс под названием «NSWindow», либо нет. С объектами эта переписка не применяется. Если вы хотите сериализовать объект, проверьте NSCoding protocol и сопутствующий documentation.

+0

+1, я подозреваю, что вы ближе к намерению ФП, чем Я. –

0

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

0

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

Class class = NSClassFromString(className); 
id object = [class new]; 
Смежные вопросы