block 作为函数的返回值
typedef void (^newType) ();
newType test(){
newType wi = ^{ //定义block
NSLog(@“xxxxxx”); NSLog(@“lllllll”); } ; return w1; //返回block }
int main(){
定义block类型变量接收,调用test newType n1 = test(); n1();
return 0; }
分析步骤: 1 使用typedef 定义一个新的类型 2 用新定义的类型作为函数的返回值 3 使用时,定义block变量接收函数返回结果 4 执行block
有参数的block作为函数返回值 typedef int (^newType2) (int ,int );
newType2 test2 (){
//返回一个特殊的“值”,值是一个有返回值,有两个参数的代码块 return ^(int a, int b){ return a+b; }; }
在main函数中调用 int main(){
newType2 n2 = test2(); int s = n2(15,20); NSLog(@“%d”,s);
return 0; }
此时n2= ^(int a, int b){ return a+b;
};
|