我不断看到其中的代码行^{ some code }
......我认为它可能允许运行类似于 lambda 函数的内联函数。但我找不到任何关于它的文档。有人可以启发我吗?
问问题
150 次
4 回答
6
它是一个块。
请参阅文档。
于 2013-07-16T19:54:49.033 回答
3
这是一个街区!
窃取苹果的例子:
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 回答