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);
………………
明天继续更新 运行时博大精深
网友评论