runtime 大牛必备
//class_addIvar 添加属性
//class_copyIvarList 获取属性列表
//class_addProperty 添加Property属性
//class_addProtocol 添加协议
//class_copyMethodList 获取方法列表
//class_copyProtocolList 获取协议列表
//class_copyPropertyList 获取Property列表
//class_getClassVariable 获取类成员变量的信息
//class_getInstanceVariable 获取类中指定名称实例成员变量的信息
//class_replaceMethod 替代方法的实现
//class_getMethodImplementation_stret 返回方法的具体实现
//class_getMethodImplementation 返回方法的实现
//class_respondsToSelector 类实例是否响应指定的selector
//class_getProperty 返回单个内容
//class_conformsToProtocol 返回类是否实现指定的协议
//class_getInstanceMethod 得到实例方法
//class_getClassMethod 得到类方法
//method_getName 得到方法名
//method_getImplementation 返回方法的调用地址
//method_getReturnType 得到方法的返回类型
//method_setImplementation 设置方法的调用地址
//method_exchangeImplementations 改变方法的调用地址
//objc_allocateClassPair 创建一个新类和元类
//objc_disposeClassPair 销毁一个类及其相关联的类
//objc_registerClassPair 在应用中注册类
//class_createInstance 创建类实例
//objc_constructInstance 在指定位置创建类实例
//objc_destructInstance 销毁类实例但不释放与移除引用
//objc_getMetaClass 返回指定类的元类
//objc_lookUpClass 返回指定类的类定义
//objc_getRequiredClass 返回指定类的类定义
//objc_getClassList 获取已注册的类定义的列表
//objc_copyClassList 创建并返回指向所有注册类的指针列表
//object_getClass 返回给定对象
//object_setClass 设置对象的类
//object_getClassName 返回给定对象的类名