黑马程序员技术交流社区

标题: block举例 [打印本页]

作者: neverbloom7    时间: 2015-8-27 21:01
标题: block举例
block是一个可以当参数传递的代码块,例如每天大部分工作都是重复的,不同的部分用block表示:
//写一个自定义block
typedef void (^ganShenMe)();

//写一个表示重复部分的函数
void Day(int n){
NSLog(@"起床");
ganShenMe workDay(int i);
ganShenMe s=workDay(i);
s();
NSLog(@"睡觉");
}

//写一个返回值是自定义block 的函数,表示每天做的不同的事
ganShenMe wrokDay(int i){
ganShenMe gsm;
switch (i) {
case 1:
gsm=^{NSLog(@"写需求");};
break;
case 2:
gsm=^{NSLog(@"写代码");};
break;
case 3:
gsm=^{NSLog(@"调试代码");};
break;
case 4:
gsm=^{NSLog(@"辞职");};
break;
default:break;
}
return gsm;
}

void main(){
for(int i=1;i<=4;i++){
Day(i);
}
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2