一、Block基本使用
block用来保存一段代码
block标志:^
block类似于函数:
1、可以保存代码
2、有返回值
3、有形参
定义block变量:void (^myblock)() = ^{
......
};
执行:myblock();
带参数和返回值:
4、用dypedef定义block类型
dypedef int (^Myblock) (int,int);
Myblock sumblock = ^(int a, int b) {
......
}
二、block总结
1、定义block变量
int (^sumblock)(int, int);
void (^myblock)();
2、用block封装代码
^(int a, int b){
......
}
^(){ //没有参数"()"小括号可以省去
......
}
3、block访问外部变量
***block内部可以访问外部变量
***默认情况下,block内部不能修改外面的局部变量
***给局部变量加上__block关键字,这个局部变量就可以在block内部修改
4、利用typedef定义block类型
typedef int (^Myblock) (int, int);
以后就可以利用这个类型来定义变量。