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);
}
} |
|