为什么实例化一个类我必须这样做,作为一个常量让,类实例化在苹果斯威夫特
class car {
var type: Int?
var wheels: Int?
}
let auto = car()
我可以使用VAR还有:
var auto = car()
什么是差别吗?,谢谢
为什么实例化一个类我必须这样做,作为一个常量让,类实例化在苹果斯威夫特
class car {
var type: Int?
var wheels: Int?
}
let auto = car()
我可以使用VAR还有:
var auto = car()
什么是差别吗?,谢谢
一个常量只能分配给或初始化一次:
let constantAuto = car()
constantAuto.type = 1 // changing properties is fine
constantAuto.wheels = 4
constantAuto = car() // error - can't do this
而变量可以被分配到多个时间:
var variableAuto = car()
variableAuto.type = 1 // changing properties is fine here too
// etc
// need to reset:
variableAuto = car()
从本质上讲,当你知道你只需要一次创建实例,使用let
,所以编译器可以对其创建的代码更高效。
如果你正在使用让你定义一个常量,而与var你声明一个变量。
“常量声明定义了常量名和初始化表达式的值之间的不可变绑定;在设置了常量值后,它不能被改变,也就是说,如果一个常量被类对象初始化,对象本身可以改变,但是常数名称和它引用的对象之间的绑定不能。“
来概括: 你可以改变一个变量引用的对象,但你不能这样对待一个恒定