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变量以及代码段,因为这样可以提高代码的阅读性。


<<:  MySQL 字串类型资料之基本操作

>>:  iOS APP 开发 OC 第十一天,使用 typedef 简化 block

Day 15 - 中场休息(旅程前半段回顾与重点汇整)

不知不觉参赛已经到一半的旅程,而从前面的文章可以看到使用到了各式各样的技术和工具,今天主要会重点整理...

第38天~画完图来看语法

这篇的上一篇:https://ithelp.ithome.com.tw/articles/10283...

Day22 火焰文字

火焰文字 教学原文参考:火焰文字 这篇文章会介绍在 GIMP 里使用涂抹工具、渐层映对、文字...等...

Unity与Photon的新手相遇旅途 | Day28-Unity 发布到IOS手机上

今天内容为教大家如何把Unity专案发布到IPhone或IPad上。 ...

每天来点 Vue.js 吧 目录&总结

tags: Vuejs 本次铁人作为进入 Vue 3 的前的粗浅回顾,简单介绍了 Vue 2 官网的...