dispatch_block_t 简单的实现不带参数的回调函数

通常我写一个不带参数的块回调函数是这样写的

在 . h 头文件中

定义类型

typedef void (^leftBlockAction)();

在定义一个回调函数

-(void)leftButtonAction:(leftBlockAction)leftBlock;

在.m 文件中

-(void)leftButtonAction:(leftBlockAction)leftBlock{

    leftBlock();

}

今天学会一个高大上的方法

只要在.h 头文件定义属性方法

@property (nonatomic,copydispatch_block_t leftBlockAction;

 

在.m文件 调用的方法里调用

 

 

    if (self.leftBlockAction) {

        self.leftBlockAction();

    }

 

在另个模块里直接

 

    MyAlertView *alert = [[MyAlertView alloc]init];

    alert.leftBlockAction = ^() {

 

        NSLog(@"left button clicked");

    };


是不是对第一种方法简单了很多

猜你喜欢

转载自www.cnblogs.com/includeao/p/8961974.html