美文网首页工作生活
(四)iOS 反射机制的简单使用

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

作者: 种提莫的蘑菇 | 来源:发表于2019-07-03 16:00 被阅读0次

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);

跟深的理解请看链接

相关文章

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

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

  • OC中的反射机制

    你是否接触过OC中的反射机制?简单聊一下概念和使用1). class反射 2). SEL的反射

  • iOS 简单反射机制

    提示:文章只是用来记录本人自己在学习过程中所遇到的一些问题的解决方案,如果有什么意见可以留言提出来,不喜勿喷哦! ...

  • iOS开发中工厂模式的体现

    在iOS开发中,简单工厂模式使用得并不多。但是、我认为这是OC反射机制很好的一个例子,简单工厂模式的实质是由一个工...

  • QT 反射机制的简单使用

    Qt反射前期准备 [以下内容来自博客# Qt5之反射机制(内省),转载请注意说明出处] 首先得继承于Q_Objec...

  • Java反射

    简单总结下什么是Java反射,怎么使用。 Java反射机制 反射就是指JVM运行期,获取指定类所有的属性和方法的一...

  • Java反射机制

    最近看了一下想学习一下Retrofit,发现其中使用到了Java的反射机制,虽然之前也简单使用过Java的反射,但...

  • java 反射 注解 代理

    注解的使用通常配合反射使用动态代理需要反射机制配合简单说下注解:注解是元数据:数据的数据,可以给方法 类 变量增加...

  • iOS开发-简单工厂模式与OC反射机制

    在iOS开发中,简单工厂模式使用得并不多。但是我认为这是OC反射机制很好的一个例子,所以本文将以计算器为例,讲解简...

  • 重构 -- Java反射机制简单使用

    一、背景 最近在开发中写了一些功能重复的方法,这些方法唯一不同的地方就是入参都是比较类似的bean,只是为了区分不...

网友评论

    本文标题:(四)iOS 反射机制的简单使用

    本文链接:https://www.haomeiwen.com/subject/wnfchctx.html