(四)iOS 反射机制的简单使用

1.在开发中会有调用某个接口,然后通过返回的数据告诉app端该怎么跳转,并执行哪个方法的需求,这时候就很好的使用到OC的反射机制。

从接口中获取要跳转的类名,和要执行的方法名。

Class class = NSClassFromString(@"DemoVC");

UIViewController *vc = [[class alloc] init];

[self.navigationController pushViewController:vc animated:YES];

//以上就是使用反射机制,拿到要跳转的vc。

SEL selector = NSSelectorFromString(@"funName");

[vc performSelector:selector];

//以上就是根据字符串获取方法名,但是有个问题就是会报警告performSelector may cause a leak because itsselector is unknown。

使用以下方法替代即可

IMP imp = [vc methodForSelector:selector];

void (*func)(id,SEL) = (void*)imp;

func(vc, selector);

跟深的理解请看链接

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