// 正常调用
CLASSA *a = [[CLASSA alloc] init];
[a CallFunc];
// 反射调用
Classcls = NSClassFromString(@"CLASSA");
id a= [[cls alloc] init];
SEL selector = NSSelectorFromString(@"CallFunc");
[a performSelector:selector withObject:nil];
Objective-C反射机制示例
本文介绍了Objective-C中使用反射机制来调用方法的过程。首先通过正常的初始化方式调用了类CLASSA的一个方法CallFunc,接着展示了如何利用反射机制达到相同的目的。通过NSClassFromString获取类对象,再使用NSSelectorFromString创建方法选择器,并最终通过performSelector发送消息。
// 正常调用
CLASSA *a = [[CLASSA alloc] init];
[a CallFunc];
// 反射调用
Classcls = NSClassFromString(@"CLASSA");
id a= [[cls alloc] init];
SEL selector = NSSelectorFromString(@"CallFunc");
[a performSelector:selector withObject:nil];
3393
4775

被折叠的 条评论
为什么被折叠?