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]];
网友评论