一、类相关操作函数
const char * class_getName ( Class cls );
Class class_getSuperclass ( Class cls );
BOOL class_isMetaClass ( Class cls );
size_t class_getInstanceSize ( Class cls );
Ivar class_getInstanceVariable ( Class cls, const char *name );
Ivar class_getClassVariable ( Class cls, const char *name );
BOOL class_addIvar ( Class cls, const char *name, size_t size, uint8_t alignment, const char *types );
Ivar * class_copyIvarList ( Class cls, unsigned int *outCount );
objc_property_t class_getProperty ( Class cls, const char *name );
objc_property_t * class_copyPropertyList ( Class cls, unsigned int *outCount );
BOOL class_addProperty ( Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount );
void class_replaceProperty ( Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount );
BOOL class_addMethod ( Class cls, SEL name, IMP imp, const char *types );
Method class_getInstanceMethod ( Class cls, SEL name );
Method class_getClassMethod ( Class cls, SEL name );
Method * class_copyMethodList ( Class cls, unsigned int *outCount );
IMP class_replaceMethod ( Class cls, SEL name, IMP imp, const char *types );
IMP class_getMethodImplementation ( Class cls, SEL name );
IMP class_getMethodImplementation_stret ( Class cls, SEL name );
BOOL class_respondsToSelector ( Class cls, SEL sel );
BOOL class_addProtocol ( Class cls, Protocol *protocol );
BOOL class_conformsToProtocol ( Class cls, Protocol *protocol );
Protocol * class_copyProtocolList ( Class cls, unsigned int *outCount );
int class_getVersion ( Class cls );
void class_setVersion ( Class cls, int version );
二、实例相关操作函数
id object_copy ( id obj, size_t size );
id object_dispose ( id obj );
Ivar object_setInstanceVariable ( id obj, const char *name, void *value );
Ivar object_getInstanceVariable ( id obj, const char *name, void **outValue );
void * object_getIndexedIvars ( id obj );
id object_getIvar ( id obj, Ivar ivar );
void object_setIvar ( id obj, Ivar ivar, id value );
const char * object_getClassName ( id obj );
Class object_getClass ( id obj );
Class object_setClass ( id obj, Class cls );
int objc_getClassList ( Class *buffer, int bufferCount );
Class * objc_copyClassList ( unsigned int *outCount );
Class objc_lookUpClass ( const char *name );
Class objc_getClass ( const char *name );
Class objc_getRequiredClass ( const char *name );
Class objc_getMetaClass ( const char *name );
void objc_setAssociatedObject ( id object, const void *key, id value, objc_AssociationPolicy policy );
id objc_getAssociatedObject ( id object, const void *key );
void objc_removeAssociatedObjects ( id object );
const char ** objc_copyImageNames ( unsigned int *outCount );
const char * class_getImageName ( Class cls );
const char ** objc_copyClassNamesForImage ( const char *image, unsigned int *outCount );
三、属性操作相关函数
const char * property_getName ( objc_property_t property );
const char * property_getAttributes ( objc_property_t property );
char * property_copyAttributeValue ( objc_property_t property, const char *attributeName );
objc_property_attribute_t * property_copyAttributeList ( objc_property_t property, unsigned int *outCount );
四、 方法操作相关函数
id method_invoke ( id receiver, Method m, ... );
void method_invoke_stret ( id receiver, Method m, ... );
SEL method_getName ( Method m );
IMP method_getImplementation ( Method m );
const char * method_getTypeEncoding ( Method m );
char * method_copyReturnType ( Method m );
char * method_copyArgumentType ( Method m, unsigned int index );
void method_getReturnType ( Method m, char *dst, size_t dst_len );
unsigned int method_getNumberOfArguments ( Method m );
void method_getArgumentType ( Method m, unsigned int index, char *dst, size_t dst_len );
struct objc_method_description * method_getDescription ( Method m );
IMP method_setImplementation ( Method m, IMP imp );
void method_exchangeImplementations ( Method m1, Method m2 );
五、选择器相关的操作函数
const char * sel_getName ( SEL sel );
SEL sel_registerName ( const char *str );
SEL sel_getUid ( const char *str );
BOOL sel_isEqual ( SEL lhs, SEL rhs );
六、协议相关的操作函数
Protocol * objc_getProtocol ( const char *name );
Protocol ** objc_copyProtocolList ( unsigned int *outCount );
Protocol * objc_allocateProtocol ( const char *name );
void objc_registerProtocol ( Protocol *proto );
void protocol_addMethodDescription ( Protocol *proto, SEL name, const char *types, BOOL isRequiredMethod, BOOL isInstanceMethod );
void protocol_addProtocol ( Protocol *proto, Protocol *addition );
void protocol_addProperty ( Protocol *proto, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount, BOOL isRequiredProperty, BOOL isInstanceProperty );
const char * protocol_getName ( Protocol *p );
BOOL protocol_isEqual ( Protocol *proto, Protocol *other );
struct objc_method_description * protocol_copyMethodDescriptionList ( Protocol *p, BOOL isRequiredMethod, BOOL isInstanceMethod, unsigned int *outCount );
struct objc_method_description protocol_getMethodDescription ( Protocol *p, SEL aSel, BOOL isRequiredMethod, BOOL isInstanceMethod );
objc_property_t * protocol_copyPropertyList ( Protocol *proto, unsigned int *outCount );
objc_property_t protocol_getProperty ( Protocol *proto, const char *name, BOOL isRequiredProperty, BOOL isInstanceProperty );
Protocol ** protocol_copyProtocolList ( Protocol *proto, unsigned int *outCount );
BOOL protocol_conformsToProtocol ( Protocol *proto, Protocol *other );
七、block块相关的操作函数
IMP imp_implementationWithBlock ( id block );
id imp_getBlock ( IMP anImp );
BOOL imp_removeBlock ( IMP anImp );