您的位置:首页 > 其它

有参数block 调用

2015-12-29 15:31 344 查看
#import <Foundation/Foundation.h>
typedef void (^workBlock)(int day);

void work(workBlock w, int day)
{
NSLog(@"起床");
NSLog(@"刷牙");
NSLog(@"去车站");
NSLog(@"坐车");
w(day); // 如果写成 w() 提示错误: Too few arguments to block call, expected 1, have 0 , 参数太少 不能调用.
NSLog(@"去车站");
NSLog(@"坐车回家");
NSLog(@"吃饭");
NSLog(@"睡觉");
}

int main(int argc, const char * argv[])
{
@autoreleasepool {
workBlock w = ^(int i) {
switch (i) {
case 1:
NSLog(@"--->了解项目");
break;
case 2:
NSLog(@"--->分析项目");
break;
case 3:
NSLog(@"--->写代码");
break;
case 4:
NSLog(@"--->调试代码");
break;
case 5:
NSLog(@"--->离职");
break;
default:
break;
}

};
for (int i = 1; i <= 5; i++) {

work(w, i);
NSLog(@"==========");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: