我刚刚从another answer阅读了这个代码段:
使用
^{}
语法创建块...
我理解这种语法,并定期使用它,但是我从中推断出可能有其他语法可用于创建块。在那儿?如果有,那么不同语法有什么优点吗?
答案 0 :(得分:12)
如果你的问题是关于块文字语法(用于匿名函数的语法),这里是一般形式
^返回类型(参数列表){expressions}
基于此,您可以省略返回类型
^(参数列表){expressions}
因为它可以从返回类型推断出来。如果没有返回值,则选择void
。
此外,你可以写
^ {expressions}
如果没有参数。
这与
相同^ void (void) { NSLog(@"Something"); }
答案 1 :(得分:5)
通过查看here我认为唯一的区别是你使用了返回类型/参数