UIButton的點(diǎn)擊事件使用block回調(diào)

直接上代碼

.h文件
#import <UIKit/UIKit.h>
typedef void (^btnBlock)();

@interfce UIButton (Block)

- (void)handelWithBlock:(btnBlock)block;

@end

.m文件

#import "UIButton+Block.h"
#import <objc/runtime.h>

static const char btnKey;

@implementation UIButton (Block)

- (void)handelWithBlock:(btnBlock)block
{
    if (block)
    {
       set方法將self和block通過btnkey關(guān)聯(lián)起來
        objc_setAssociatedObject(self, &btnKey, block, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    }

    [self addTarget:self action:@selector(btnAction) forControlEvents:UIControlEventTouchUpInside];
}

- (void)btnAction
{
     get方法通過key獲取對象
    btnBlock block = objc_getAssociatedObject(self, &btnKey);
    block();
}

@end

tips: 使用objc_setAssociatedObject,需要引入頭文件 #import <objc/runtime.h>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,051評論 0 9
  • 出題者簡介: 孫源(sunnyxx),目前就職于百度,負(fù)責(zé)百度知道 iOS 客戶端的開發(fā)工作,對技術(shù)喜歡刨根問底和...
    戈多_于勒閱讀 1,876評論 0 5
  • 佛塵往事,塵歸何處兮,落指輕談! 眉似曲折,回腸空轉(zhuǎn)兮,輕嘆哀折? 大道小道心之道,道之兮,有傳慕饒! 大言小言心...
    l安閱讀 381評論 0 0
  • 曾經(jīng)的樣子,現(xiàn)在的模樣。燦爛的笑容經(jīng)不起歲月的蹉跎。稚嫩的臉龐抵不過時光的流逝。小時候多向往長大、現(xiàn)在就多懷念青春...
    萍水相逢總是袁閱讀 215評論 0 0
  • 文/三月瘋 有些時候改掉某些習(xí)慣,真的會花掉半輩子 祝福那些點(diǎn)進(jìn)來正在熱戀的朋友,希望你們在愛情的道路上走的更遠(yuǎn)。...
    三月瘋閱讀 2,289評論 19 13

友情鏈接更多精彩內(nèi)容