A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© neverbloom7 中级黑马   /  2015-8-27 21:01  /  599 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马