【发布时间】:2012-07-01 11:27:03
【问题描述】:
我刚刚从another answer 读到这个sn-p:
当您使用
^{}语法创建块时...
我理解这种语法,并且经常使用它,但是我由此推断可能还有其他语法可用于创建块。在那里?如果有,不同的语法有什么优点吗?
【问题讨论】:
标签: ios objective-c c syntax objective-c-blocks
我刚刚从another answer 读到这个sn-p:
当您使用
^{}语法创建块时...
我理解这种语法,并且经常使用它,但是我由此推断可能还有其他语法可用于创建块。在那里?如果有,不同的语法有什么优点吗?
【问题讨论】:
标签: ios objective-c c syntax objective-c-blocks
如果您的问题是关于块文字语法(用于匿名函数的语法),这里是一般形式
^ 返回类型(参数列表){表达式}
基于此,您可以省略返回类型
^(参数列表){表达式}
因为它可以从返回类型中推断出来。如果没有返回值,则选择void。
另外,你可以写
^ {表达式}
如果没有参数。
这是一样的
^ void (void) { NSLog(@"Something"); }
【讨论】:
^ 之前?
returnType (^blockName)(argTypeList),而在字面上,它是^(returnType)(argList){body}?
通过查看here,我认为唯一的区别是您是否使用返回类型/参数
【讨论】: