NSClassFromString(aClassName)
返回名为aClassName的类的类对象。大。
现在如何在该类对象上调用类方法?对于
Class moduleClass = NSClassFromString(aClassName);
Xcode不允许我拨打电话
AppModule* appModuleClass = moduleClass;
[appModuleClass classMethod] // actually that's an object instance...
或
[((AppModule)moduleClass) classMethod]; // C-style cast not allowed
我在这里缺少什么?感谢。
答案 0 :(得分:5)
要调用类方法,请执行以下操作:
[NSClassFromString(aClassName) performSelector:@selector(classMethod)];
也许this可行:
objc_msgSend(NSClassFromString(aClassName), @selector(classMethod));
答案 1 :(得分:0)
您可以使用
__typeof([AppModule class]) cls = NSClassFromString(@"aClassName");
if ( [cls respondsToSelector:@selector(classMethod)] ) {
[cls classMethod];
}