? ? ? 菜鳥菜鳥繼續路過~ ? ? ? ?前倆天做一個對于我這個菜鳥來說一個很復雜的東西,當然有個大神研究到凌晨一點半也沒研究出來,哈哈哈。
? ? ? 中間邏輯特別特別糾結一個事,而后想用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可用~)。