UIButton传递多个参数

2016-10-13  本文已影响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可用~)。

上一篇下一篇

猜你喜欢

热点阅读