什么是runtime
1> runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);
2>实际上,平时我们编写的oc代码,底层都是基于runtime实现的
- 也就是说,我们平时编写的oc代码,最终都是转成了底层的runtime代码(c语言代码) ;
runtime有啥用?
1>能动态生成一个类,一个成员变量,一个方法
2>能动态修改一个类,一个成员变量,一个方法
3>能动态删除一个类,一个成员变量,一个方法
常见的函数,头文件
<pre>#import<objc/runtime.h> : //成员变量,类,方法
class_copyIvarList : 获得某个类内部的所有成员变量
class_copyMethodList : 获得某个类内部的所有方法
class_getInstanceMethod : 获得某个具体的实例方法 (对象方法,减号-开头)
class_getClassMethod : 获得某个具体的类方法 (加号+开头)
method_exchangeImplementations : 交换两个方法的实现
import<objc/message.h> : //消息机制
objc_msgSend(...)</pre>