美文网首页
UIButton传递多个参数

UIButton传递多个参数

作者: 浅尝凉白开 | 来源:发表于2016-10-13 18:03 被阅读0次

          菜鸟菜鸟继续路过~        前俩天做一个对于我这个菜鸟来说一个很复杂的东西,当然有个大神研究到凌晨一点半也没研究出来,哈哈哈。

          中间逻辑特别特别纠结一个事,而后想用button传多个参数过去,百度无果,大多都是问的,没有找到理想的答案,除了tag貌似别无他法。     不过最后再找啊找找啊找,终于找到了一个方法,非原创,分享一下。

    首先导入: #import <objc/runtime.h>

    直接上代码。 PS:我也是网上查的,求轻喷。

    向以上方法那样,只要设置了关联,当把button传递给@selector的参数时,也顺便把另外两个参数也传递过去了。就类似设了button的两个属性,但是这种方法简单多了


    打印的值:



    以下是我百度到的原文给的解释:

    第一步: 设定关联

    objc_setAssociatedObject(button,"firstObject",someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

    第一个参数:button为被关联者(主体),第二个参数:firstObject为指向关联的对象的指针(一般为一个static字符串),第三个参数:关联的对象实例,第四个对象:关联的方式(有几种,类似设定.h文件属性时候的 assign,retain等)

    第二步:得到关联的对象

    id first = objc_getAssociatedObject(button, "firstObject");

    第一个参数:为被关联者

    第二个参数:为关联对象的指针。

        感谢某技术交流群群主指教。 这个功能用到的就是传言中的runtime,那群主的话是这样的说的:“所有都可以  不只是button”。  另外给我发了一张图,给大家瞅瞅。。(方法第一个参数是id类型,然后我发现了,真的不止是button可用~)。

    相关文章

      网友评论

          本文标题:UIButton传递多个参数

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