总结一下block的几种常用方法
一、block的简单介绍
block相当于一个参数,有参数的名,有参数的值,有参数的使用,当使用block的时候,它又相当于一个函数,会回调函数体。
声明:void (^block)(void);
实现/赋值:block = ^ void (void){
NSLog(@"This is a block!");
};
block的调用:block();
block的声明与赋值可以合起来写:
void(^block)(void) = ^{
NSLog(@"This is a block!");
};
二、block的声明可以用typedef重新命名
typedef int (^block_t)(int, int);
block_t block = ^ int (int a, int b){
return a+b;
};
别忘了调用:block(2, 5);
三、block的访问权限
block外的变量在block内部可以访问,但不能被修改,想要被修改,需要在变量前面加__block修饰。
四、可以灵活运用block和点语法,实现block1().block2().block()格式。