通过反射无需导入头文件,动态获取类名,调用方法

例如,在一个静态库中,调用外面的类的方法

// param1 (类名)  param2 (类中的方法)

NSString *param1 =@"YCAdBaiduBannerAdapter";

NSString *param2 =@"initWithAdKey:";

id class =[[NSClassFromString(param1)alloc]init];

if (class) {

SEL selector =NSSelectorFromString(param2);

if ([class respondsToSelector:selector]) {

NSInvocation *inv =[NSInvocation invocationWithMethodSignature:[class methodSignatureForSelector:selector]];

//方法中的参数 argument

NSString *argument =@"1232";

[inv setSelector:selector];

[inv setTarget:class];

[inv setArgument:&argument atIndex:2];

[inv invoke];

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容