如何在 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 SKSpriteNode
或 SKLabelNode
但每个都有不同的参数。
var mySprite: SKSpriteNode?
在这种情况下,您的变量类型是可选的,这意味着在您创建包含此变量的 class 实例时它是 nil,它是您的 [=] 的 属性 19=].
var mySprite = SKSpriteNode()
在这里,您在创建包含它的 class 实例时初始化 属性。
var mySprite = SKSpriteNode(imageNamed: String())
与第二个类似。但在使用的初始化方法上有所不同。在里面()。
我正在学习 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 SKSpriteNode
或 SKLabelNode
但每个都有不同的参数。
var mySprite: SKSpriteNode?
在这种情况下,您的变量类型是可选的,这意味着在您创建包含此变量的 class 实例时它是 nil,它是您的 [=] 的 属性 19=].
var mySprite = SKSpriteNode()
在这里,您在创建包含它的 class 实例时初始化 属性。
var mySprite = SKSpriteNode(imageNamed: String())
与第二个类似。但在使用的初始化方法上有所不同。在里面()。