runtime 三:方法、消息

2016-06-14  本文已影响39人  sea777777

// 调用指定方法的实现

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 );

// 返回给定选择器指定的方法的名称

constchar*sel_getName(SELsel);

// 在Objective-C Runtime系统中注册一个方法,将方法名映射到一个选择器,并返回这个选择器

SEL sel_registerName(constchar*str);

// 在Objective-C Runtime系统中注册一个方法

SEL sel_getUid(constchar*str);

// 比较两个选择器

BOOLsel_isEqual(SELlhs,SELrhs);

sss

上一篇 下一篇

猜你喜欢

热点阅读