self.enumerateChildNodesWithName(spriteName) {
node, stop in
// Do something with node.
Run Code Online (Sandbox Code Playgroud)
}
这是我正在研究的一些SpriteKit Swift代码的示例.
它看起来像是C#的lambda表达式,但我不确定.
我想知道的stop in一部分是部分,它是什么?
我尝试在Swift文档中查找信息,但是stop in过于通用了,无法找到任何信息.
什么是stop in?它在做什么?
该方法声明为:
func enumerateChildNodesWithName(_ name: String,
usingBlock block: (SKNode,
UnsafeMutablePointer<ObjCBool>) -> Void)
Run Code Online (Sandbox Code Playgroud)
在之间代码的部分{和}一个尾部封这是block.node并且stop是参数名称.它也可以写成:
self.enumerateChildNodesWithName(spriteName) {
node: SKNode, stop: UnsafeMutablePointer<ObjCBool> in
Run Code Online (Sandbox Code Playgroud)
请参阅Swift指南中的闭包.
该stop参数是在枚举所有项之前停止枚举的一种方法.请参阅如何在SpriteKit中使用Swift使用"enumerateChildNodesWithName"?欲获得更多信息.基本上,使用它的唯一方法是设置stop.memory = true以防止枚举下一个项目.如果您正在搜索项目并且已经找到了您正在寻找的项目,这非常有用.
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |