块语法目标C.

Jam*_*ter 7 c syntax objective-c ios objective-c-blocks

我刚刚从另一个答案中读到了这个片段:

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

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

Lor*_*o B 12

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

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

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

^(参数列表){expressions}

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

此外,你可以写

^ {表达式}

如果没有参数.

这是一样的

^ void (void) { NSLog(@"Something"); }
Run Code Online (Sandbox Code Playgroud)


gio*_*shc 5

通过查看此处,我认为唯一的区别是如果您使用返回类型/参数