有关 runtime



什么是runtime?

  - 实际上我们编写的所有OC代码,最终都是转成了runtime库的东西,比如类转成了runtime库里面的结构体等数据类型,方法转成了runtime库里面的C语言函数,平时调方法都是转成了objc_msgSend函数(所以说OC有个消息发送机制)

   - 因此,可以说runtime是OC的底层实现,是OC的幕后执行者runtime有啥用?

   - 能动态产生一个类、一个成员变量、一个方法

  - 能动态修改一个类、一个成员变量、一个方法

  - 能动态删除一个类、一个成员变量、一个方法

  -常见的函数、头文件

#import: 成员变量、类、方法

class_copyIvarList : 获得某个类内部的所有成员变量

class_copyMethodList : 获得某个类内部的所有方法

class_getInstanceMethod : 获得某个具体的实例方法(对象方法,减号开头)

class_getClassMethod : 获得某个具体的类方法 (加号)

method_exchangeImplementations : 交换2个方法的实现#import消息机制

objc_msgSend(...);

你可能感兴趣的:(有关 runtime)