Runtime中的实用函数总结

11/17/2016 18:43 下午 posted in  Runtime

##关联对象:

###设置一个关联对象

void objc_setAssociatedObject(id object, void *key ,id value, objc_AssociationPolicy policy)

###获取关联对象

void objc_getAssociatedObject(id object, void *key)

###删除该对象所有的关联对象

void objc_removeAssociatedObjects(id object)

##消息传递

###向某个对象/父类 发送消息

objc_msgSend(Super)

##方法调配

###交换两个方法的实现

void method_exchangeImplementation(Method m1, Method m2)

###得到该法的指针

Method class_getInstanceMethod(Class aClass, SEL aSelector)

##动态创建对象
###创建新的类

Class objc_allocateClassPair(Class superclass, const char *name,size_t extraBytes)

###给类增加新的方法

BOOL class_addMethod(Class cls, SEL name, IMP imp,const char *types)

###注册新的类

void objc_registerClassPair(Class cls)

###获得对象的isa指针所指向的对象

Class object_getClass(id obj)