如何在 Swift 中声明变量

how to declare variables in Swift

我正在学习 Swift 并注意到声明变量的方法有多种。

问题:下面3行有什么区别,什么时候用哪?

var mySprite: SKSpriteNode?

var mySprite = SKSpriteNode()

var mySprite = SKSpriteNode(imageNamed: String())

同理,下面3行有什么区别,什么时候用哪?

var myLabel: SKLabelNode?  

var myLabel = SKLabelNode() 

var myLabel = SKLabelNode(fontNamed: "name")

在声明变量方面,这两种情况的最后两行没有区别。

第一个声明与最后两个的不同之处在于它声明了一个 SKLabelNode 类型的可选值,默认值为 nil.

第一行代码将变量声明为

Optional

。 swift 中的 Optional 变量意味着它可以是 nil 或者它可以有一个值,你总是应该使用 "if let" 表达式安全地解包它。

第二行和第三行将定义一个新对象 class SKSpriteNodeSKLabelNode 但每个都有不同的参数。

var mySprite: SKSpriteNode?

在这种情况下,您的变量类型是可选的,这意味着在您创建包含此变量的 class 实例时它是 nil,它是您的 [=] 的 属性 19=].

var mySprite = SKSpriteNode()

在这里,您在创建包含它的 class 实例时初始化 属性。

var mySprite = SKSpriteNode(imageNamed: String())

与第二个类似。但在使用的初始化方法上有所不同。在里面()。