1.先定义一个宏
#define DYTestBlock(param1, block)\
NSLog(@"param1 : %@", (param1));\
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(9 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{\
int blockParam1 = 1;\
NSString *blockParam2 = [NSString stringWithFormat:@"哈哈 : %@", param1];\
block(blockParam1, blockParam2);\
});\
2.调用这个宏定义(有一下两种方式调用)
// - 方式1
void(^block)(int, NSString *) = ^(int a, NSString *str) {
NSLog(@"%d, %@", a, str);
};
DYTestBlock(@"xx",block);
// - 方式 2
DYTestBlock(@"xx",^(int a, NSString *str) {
NSLog(@"%d, %@", a, str);
});
// - 方式三
DYBlock dyBlock ^(int a, NSString *str) {
NSLog(@"%d, %@", a, str);
};
DYTestBlock(@"xx",dyBlock);