是否可以通过名称获取课程?

问题描述 投票:4回答:2

在Objective-C中,当您将类的名称作为字符串时,是否可以获取类并向其发送消息?例如,是否有函数func其中func(@"NSString") == [NSString class]

我想知道的原因是我正在为我正在使用的语言构建动态链接程序库,并且希望它具有与Objective-C库的接口。

objective-c string class dynamic-linking
2个回答
13
投票

是的-实际上是两个。如果您具有基金会类型的框架(例如,来自Cocoa,Cocoa Touch或GNUstep),则可以使用NSClassFromString()函数,该函数与NSClassFromString()完全相同。如果您不希望依赖框架,则可以使用类似的运行时函数func,该函数采用objc_getClass()并返回命名的类(如果找不到,则返回objc_getClass())。


2
投票

您可以使用const char*从其名称获取类对象。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.