1、block的定义方式和指向函数的指针相同
int (^sumBlock)(int,int);
void (^myBlock)();
2、使用block封装代码:
^(){
};
^{
};
^(int a,int b){
};
3、block访问外部变量
1)block内部可以访问外面的变量
2)默认情况下,block内部不能改变外部的局部变量,如果想改变,需要给局部变量加上__block关键字
4、利用typedef定义block类型
typedef int (^MyBlock)(int,int);
MyBlock b = ^(int a,int b){
return a + b;
}
int x = b(1,2);