Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift中闭包表达式的等价性,例如SKAction补全_Swift_Lambda_Sprite Kit_Closures_Swift2 - Fatal编程技术网

Swift中闭包表达式的等价性,例如SKAction补全

Swift中闭包表达式的等价性,例如SKAction补全,swift,lambda,sprite-kit,closures,swift2,Swift,Lambda,Sprite Kit,Closures,Swift2,下列闭包表达式等效吗 sprite.runAction(action, completion: { print("done") }) sprite.runAction(action, completion: {() -> Void in print("done") }) sprite.runAction(action) {() -> Void in print("done") } 在上面使用SpriteKit的with completion块的示例中,第

下列闭包表达式等效吗

sprite.runAction(action, completion: {
    print("done")
})

sprite.runAction(action, completion: {() -> Void in
    print("done")
})

sprite.runAction(action) {() -> Void in
    print("done")
}
在上面使用SpriteKit的with completion块的示例中,第一个示例可能是隐式的;然而,这是第三个例子,我不确定我是否理解


在第三个示例中,函数
runAction()
不返回任何内容;那么,当操作完成时,如何调用完成块呢?

您的所有示例都是等效的

sprite.runAction(action, completion: {
    print("done")
})

sprite.runAction(action, completion: {() -> Void in
    print("done")
})
省略参数和返回类型声明, 因为闭包的类型可以是 (此处:来自
完成类型:
参数)

最后,

sprite.runAction(action) {() -> Void in
    print("done")
}
与第二个相同,但使用
.

它们都是等效的。最后一个使用一个。