OC中的block数据类型
1. Block封装了一段代码,可以在任何时候执行。官方建议尽量多用block。
2. 如何定义block变量
int (^sumBlock)(int, int);
void (^myBlock)();
3. 如何利用block封装代码
^(int a, int b) {
return a- b;
};
4. block访问外面变量
1) block内部可以访问外面的变量
2) 默认情况下,block内部不能修改外面的局部变量
3) 给局部变量加上__block关键字,这个局部变量就可以在block内部修改
5. 利用typedef定义block类型
typedef int (^MyBlock)(int, int);
MyBlock b1;
b1 = ^(int a, int b) {
return a - b;
};
6. block调用方法(以5中定义的b1为例)
b1(1, 2);