OC runtime常见应用

那什么是OC runtime

 简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,我们就可以在程序运行时创建,检查,修改类,对象和它们的方法。

runtime常用方法

```

//返回一个指向类的成员变量数组的指针

class_copyIvarList()

//返回一个指向类的属性数组的指针

class_copyPropertyList()

注意:根据Apple官方runtime.h文档所示,上面两个方法返回的指针,在使用完毕之后必须free()。

---------------------------------------------------

//获取成员变量名-->C类型的字符串

 ivar_getName()

 //获取属性名-->C类型的字符串

 property_getName()

 ---------------------------------------------------

 typedef struct objc_method *Method;

 class_getInstanceMethod()

  //以上两个函数传入返回Method类型

  class_getClassMethod()

  ---------------------------------------------------

  //交换两个方法的实现

  method_exchangeImplementations()

```

runtime用法

1.动态的遍历一个类的所有成员变量,属性,方法,协议等


获取属性成员变量等

2、可以利用遍历类的属性,来快速的进行归档操作


解归档

3、将从网络上下载的json数据进行字典转模型


json解析

3、动态添加 交换方法


添加交换方法

4、拦截调用动态添加


动态实现方法

5、动态变量控制


动态修改属性值

6、拓展属性


拓展添加属性

7、实现KVO


KVO
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容