黑马程序员技术交流社区
标题: block作为函数的返回值 [打印本页]
作者: tz19900926 时间: 2015-9-27 17:39
标题: block作为函数的返回值
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;
};
作者: 睡觉就有梦想 时间: 2015-9-27 18:16
过来学习学习
作者: 尾尾 时间: 2015-9-28 21:27
学习一下,楼主学的挺快的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |