有没有办法按名字上课?

Adr*_*ian 4 string class objective-c dynamic-linking

在Objective-C中,当您将类的名称作为字符串时,有没有办法获取类并向其发送消息?例如,有一个功能func在哪里func(@"NSString") == [NSString class]

我想知道这个的原因是我正在为我正在使用的语言构建一个动态链接库,我希望它有一个Objective-C库的接口.

Chu*_*uck 13

是的 - 实际上是两个.如果你有一个基础类型的框架(例如来自Cocoa,Cocoa Touch或GNUstep),你可以使用这个NSClassFromString()功能,它与你的完全相同func.如果您不想依赖于框架,那么就会有一个类似的运行时函数objc_getClass(),它接受const char*并返回指定的类(nil如果没有找到).