Runtime 简单粗暴详细的解释

runtime    


读到这里有demo哦!!!  觉得有用请多多关注!!!多多喜欢!!!

是OC底层的一套C语言的API(引入或),编译器最终都会将OC代码转化为运行时代码,通过终端命令编译.m文件:clang -rewrite-objc xxx.m可以看到编译后的xxx.cpp(C++文件)。

首先我们编写的OC语言在编译的过程中是由OC转换成C语言在转换成汇编语言然后在转换成机器码

直接接触运行时代码的操作就更接近事物的本质,就好比如说你精通了汇编之后,能够对接触最核心的;直接来例子:

老生常谈

利用runtime可以做一些OC不容易实现的功能

一.动态交换两个方法的实现

创建一个Person类;

+(void)Eat;

+(void)Drink;

实现代码:

然后在实现函数里面:

需要继承:#import<objc/runtime.h>


有个错别字不知道细心的你发现了木有^_^

这里用运行时说明:

//获取类的类方法

Methodm1= class_getClassMethod([Personclass], @selector(Eat));

//开始交换方法实现

method_exchangeImplementations(m1,m2);

………………

明天继续更新 运行时博大精深

本文demo地址:https://github.com/AnneBlair/Runtime-.git

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

推荐阅读更多精彩内容