美文网首页
iOS OC Runtime动态调用方法

iOS OC Runtime动态调用方法

作者: 冷煖自知 | 来源:发表于2020-01-04 17:47 被阅读0次
  • 调用无参方法
Class class = NSClassFromString(@"classA");
SEL selector = NSSelectorFromString(@"方法名");
IMP imp = [class methodForSelector:selector];
void (*func)(id, SEL) = (void *)imp;
func(class, selector);
  • 有参有返回值方法
SEL selector = NSSelectorFromString(@"方法名");
IMP imp = [self methodForSelector:selector];
id (*func)(id, SEL,NSString *, NSArray *) = (void *)imp;
id ret = func(self, selector,@"1",@[@"1",@"2"]);

相关文章

  • [iOS]libffi动态调用C函数

    前言:在iOS开发中可以使用Runtime动态调用OC方法,但是无法动态调用C函数,那么该如何动态调用C函数呢?值...

  • iOS Runtime学习笔记(一) - 基础学习

    iOS Runtime学习笔记 Runtime就是运行时, 核心就是消息机制. 对OC的函数调用,是一个动态调用过...

  • iOS OC Runtime动态调用方法

    调用无参方法 有参有返回值方法

  • runtime的实用性讲解

    runtime 概念 runtime 运行时机制,主要是消息机制。OC 中的方法调用属于消息的发送,动态调用过程,...

  • Runtime 理解

    Runtime Runtime 就是去解决如何在运行时期找到调用方法。 (OC 是一门动态语言,函数调用变成了消息...

  • 003-runtime动态添加方法

    1、runtime实现动态添加方法 由于OC是动态语言,所以只要声明了一个方法,那么这个对象就是可以调用这个方法的...

  • Runtime-消息三步处理机制

    Runtime 方法调用本质 OC是一门runtime语言,OC调用方法的实际,其实就是消息转发,我们可以通过底层...

  • JSPatch通过 JS 调用和改写 OC 方法

    最根本的原因:OC 是动态语言,OC 上所有方法的调用/类的生成都通过 Objective-C Runtime 在...

  • HOOK技术

    iOS中HOOK技术的几种方式 Method Swizzle利用OC的Runtime特性,动态改变SEL(方法编号...

  • JSPatch原理学习

    基础原理 OC为动态语言,OC上所有的方法调用/类的生成都通过Objective-C Runtime在运行时进行,...

网友评论

      本文标题:iOS OC Runtime动态调用方法

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