#import <Foundation/Foundation.h>
void goToWorkDay1();
void goToWorkDay2();
typedef int (^numBlock)(int,int);
typedef void (^logBlock)();
typedef NSString * (^srtringBlock)(NSString *);
int main(int argc, const char * argv[]) {
@autoreleasepool {
numBlock sum = ^(int a,int b){
return a + b;
};
NSLog(@"sum = %i",sum(20,30));
numBlock sub = ^(int a,int b){
return a-b;
};
NSLog(@"sub = %i",sub(30,20));
goToWorkDay1();
goToWorkDay2();
srtringBlock str = ^(NSString *name){
name = name;
NSLog(@"name = %@",name);
return name;
};
str(@"lxc");
logBlock log = ^{
NSLog(@"log");
};
log();
}
return 0;
}
void goToWork(void (^workBlock)())
{
NSLog(@"eat");
workBlock();
NSLog(@"sleep");
}
void goToWorkDay1()
{
goToWork(^{
NSLog(@"copy code");
});
}
void goToWorkDay2()
{
goToWork(^{
NSLog(@"look code");
});
}
Block练习
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 因为最近都在紧锣密鼓的学习H5,iOS原生的知识有些生疏了,导致一个朋友问我一些技术问题时,写个方法block拼接...
- 简介 block可以当做匿名函数,可以在两个对象间将语句当做数据来进行传递。具有封闭性closure,方便取得上下...
- 使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首...
- 本章目录 Block截取自动变量 __block说明符 Block存储域 __block变量存储域 Block中截...