-6

我不断看到其中的代码行^{ some code }......我认为它可能允许运行类似于 lambda 函数的内联函数。但我找不到任何关于它的文档。有人可以启发我吗?

4

4 回答 4

6

它是一个块。

请参阅文档

于 2013-07-16T19:54:49.033 回答
3

这是一个街区!

http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/bxGettingStarted.html#//apple_ref/doc/uid/TP40007502-CH7-SW1

窃取苹果的例子:

int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
    return num * multiplier;
};

printf("%d", myBlock(3));
// prints "21"
于 2013-07-16T19:56:07.503 回答
2

是的,确实是一个街区……

这是一个针对初学者的教程!

于 2013-07-16T20:34:46.657 回答
1

正如 Apple 在其文档中所述:

您使用 ^ 运算符来声明块变量并指示块文字的开头。块本身的主体包含在 {} 中,如本例所示(与 C 一样,; 表示语句的结尾):

int multiplier = 7;
int (^myBlock)(int) = ^(int num) {
    return num * multiplier;
};
于 2013-07-16T21:22:05.070 回答