iOS APP 开发 OC 第十一天,block 简写

tags: OC 30 day

void (^myBlock1)() = ^void(){NSLog(@"我爱你");NSLog(@"我恨你");}```****# 如果我们写的代码段没有返回值,那么代码段的void可以省略。```objectivec=void (^myBlock1)() = ^(){NSLog(@"我爱你");NSLog(@"我恨你");}

代码段的反回值如果是void可以省略,声明的代码段不可以省略。

如果我们写的代码段没有参数,那么代码段的小括弧可以省略。

void (^myBlock1)() = ^{NSLog(@"我爱你");NSLog(@"我恨你");}

再次强调,可以省略的只有代码段
所以,当一个代码段既没有参数,有没有反回值,就只写^。

声明block变量的时候,如果有指定参数,可以只写参数的类型而不写参数的名称。

int (^myBlock1)(int num1,int num2) = ^int(int num1,int num2){NSLog(@"我爱你");NSLog(@"我恨你");}

换成

int (^myBlock1)(int,int) = ^int(int num1,int num2){NSLog(@"我爱你");NSLog(@"我恨你");}

注意:这个地方只有声明block变量的时候,代码段的类型与名称都要写。

无论代码段是否有返回值,在写代码段的时候,可以不写反回值类型。

如果在写带马段的时后,省略了返回值,这个时候系统会自动确定返回值类型。

如果代码段中没有任何数据,那么他会认为这个代码段是没有返回值的。
如果代码段中没有返回数据,返回数据是什么类型,他就会认为这个代码段是什么类型。

int (^myBlock1)(int,int) = ^int(int num1,int num2){int num3 = num1 + num2;}

建议仍然按照最标準的写法来写block变量以及代码段

建议仍然按照最标準的写法来写block变量以及代码段,因为这样可以提高代码的阅读性。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章