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

  • 这个方法最后一个参数有点难理解,刚开始看就不知索然,其实,知道套路后,就明白了
const char * types
这个是指imp 函数的描述,比如v@:表示 返回值为void 的一个函数中间没有参数
v对应void  @对应id类型 :表示函数
例如 
void sum(int a,int b)
从左到右 void v
int  i
int i
因此改表示为 v@:ii
至于@:是OC中隐藏的东西 事实上 上边的那个函数应该是这样的
void sum(id xx,sel __cmd,int a,int b)
只不过他们把中间的id 和sel 隐藏了

你可能感兴趣的:(关于class_addMethod(Class cls, SEL name, IMP imp, const char *types))