Xcode游乐场游戏样板生成代码,其类别为:
class GameScene: SKScene {
// no init override here
}
然后实例化该类:
if let scene = GameScene(fileNamed: "GameScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
sceneView.presentScene(scene)
}
我搜索了文档,但没有init
带有结尾的结尾。 init
中没有定义任何GameScene
。那么GameScene(fileNamed: "GameScene")
之后的闭包是什么?
答案 0 :(得分:4)
那不是闭包,而是可选的绑定。 GameScene(fileNamed:)
是一个失败的初始化程序,因此可能返回nil
。 if let
可选绑定返回值,这意味着如果返回值不是if
且在nil
语句if
中,则命中scene
分支保证不会为空。
有关更多信息,请参见《 Swift语言指南》的Optional Binding部分。