块语法目标C.

时间:2012-07-01 11:27:04

标签: ios objective-c c syntax objective-c-blocks

我刚刚从another answer阅读了这个代码段:

  

使用^{}语法创建块...

我理解这种语法,并定期使用它,但是我从中推断出可能有其他语法可用于创建块。在那儿?如果有,那么不同语法有什么优点吗?

2 个答案:

答案 0 :(得分:12)

如果你的问题是关于块文字语法(用于匿名函数的语法),这里是一般形式

  

^返回类型(参数列表){expressions}

基于此,您可以省略返回类型

  

^(参数列表){expressions}

因为它可以从返回类型推断出来。如果没有返回值,则选择void

此外,你可以写

  

^ {expressions}

如果没有参数。

这与

相同
^ void (void) { NSLog(@"Something"); }

答案 1 :(得分:5)

通过查看here我认为唯一的区别是你使用了返回类型/参数