美文网首页
runtime学习笔记

runtime学习笔记

作者: 零纪年 | 来源:发表于2015-06-04 20:10 被阅读75次

UIView* v =self.view;

SELsel =NSSelectorFromString(@"setBackgroundColor:");

IMP setBkColor = [v methodForSelector:sel];

setBkColor(v,sel,[UIColorredColor]);

或者:

UIView* v =self.view;

SELsel =NSSelectorFromString(@"setBackgroundColor:");

void(*setSkinColor_Func) (id,SEL,UIColor*);

setSkinColor_Func = (void(*) (id,SEL,UIColor*))[vmethodForSelector:sel];

setSkinColor_Func(v,sel,[UIColorredColor]);

由此可见IMP就是一个指针, 在此是一个函数指针. 

2.一直都没有对这句代码进行太多的理解

这个也可以叫iOS的反射,

 1.通过类名创建对象。

2.通过反射方式,实现该对象指定函数。

[view performSelector:@selector(setBackgroundColor:) withObject:[UIColor redColor]];

相关文章

网友评论

      本文标题:runtime学习笔记

      本文链接:https://www.haomeiwen.com/subject/ibmdqttx.html