Apple Swift中的类实例化

时间:2014-07-03 03:25:31

标签: swift

为什么要实例化一个类,我必须将它作为常量使用

class car {
   var type: Int?
   var wheels: Int?
}

let auto = car()

我也可以使用 var

var auto = car()

有什么区别?,谢谢

2 个答案:

答案 0 :(得分:2)

常量只能分配给或初始化一次:

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,这样编译器可以更高效地创建它所创建的代码。

答案 1 :(得分:0)

如果您正在使用,则让您定义常量,而使用var,您可以声明变量。

"常量声明定义常量名称和初始化表达式值之间的不可变绑定;设置常量值后,无法更改。也就是说,如果使用类对象初始化常量,则对象本身可以更改,但常量名称与其引用的对象之间的绑定不能。"

来自https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/Declarations.html

总结一下: 您可以更改变量引用的对象,但不能将其设置为常量