1.定义代码块
^返回值类型(参数1,参数2,…){
//执行代码
};
2.代码块变量命名
返回值类型 (^ 块变量名)(参数1,参数2,…);
如:void (^bb)(int a,int b);
bb = ^(int a,int b){
//执行代码
};
eg.创建了一个SuccessBlock变量,—>void (^SuccessBlock)(NSString *a,int b);
3.代码块结合typedef 使用简略别名
typedef 返回值类型 (^ 块别名)(参数1,参数2,…);
typedef double(^doubleBlock) (int a,int b); //定义了一个doubleBlock类型
eg. doubleBlock doubleVar;
//代码块赋值
doubleVar = ^double(int value1,int value2){
return value1+value2;
};
//代码块调用
doubleVar(3,4); —>会返回3+4的值
4.代码块修改外部变量
block块引用外面的局部变量,块会将变量拷贝为常量编辑到block块中
block要修改外部变量,则外部变量要使__block关键字修饰
eg,__block int var = 20;