iOS DeveloperiOS 开发

Runtime 简单粗暴详细的解释

2016-06-02  本文已影响985人  语歌

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

上一篇下一篇

猜你喜欢

热点阅读