NSObjectFromString ...任何方式来做到这一点?

NSObjectFromString ...任何方式来做到这一点?

问题描述:

因此Objective-C具有这些很好的功能NSClassFromString()NSProtocolFromString(),它们从传递的字符串名称中返回一个类或协议。有没有办法用一个对象来做到这一点?NSObjectFromString ...任何方式来做到这一点?

+0

你可以将其存储为一个“身份证” ..嘿 – 2010-01-22 02:04:49

不,因为对象没有规范名称或字符串表示。有了课程,有一类叫做“NSWindow”,或者没有。通过对象,这种对应关系并不适用。如果您想要序列化一个对象,请查看NSCoding protocol和附带的documentation

+0

+1,我怀疑你是不是更接近OP的意图一世。 – 2010-01-22 02:19:47

我能想到的最接近的事情是-description,但我怀疑你比所有基本描述更注重对所有成员的反思。如果你是,你会用Chuck's answer,因为你需要序列化/反序列化。

如果你想实例化一个对象,你也可以做到这一点

Class class = NSClassFromString(className); 
id object = [class new];