美文网首页
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