我正在阅读“Swift编程语言2.1”,并遇到了以下代码。我只是想知道关键字“self
”是指什么?当我创建TemperatureUnit的实例var measuringUnit = TemperatureUnit(symbol: "k")
时,这会将.Kelvin
分配给self
,但这是否意味着此case Kelvin
的特定实例仅存在TemperatureUnit
1}} enum?
case Celsius和case Fahrenheit将不复存在,至少对于TemperautureUnit
的这个例子,这是正确的吗?有人可以向我解释一下吗?
enum TemperatureUnit {
case Kelvin, Celsius, Fahrenheit
init?(symbol: Character){
switch symbol{
case "k":
self = .Kelvin
case "c":
self = .Celsius
case "f":
self = .Fahrenheit
default:
return nil
}
}
}
var measuringUnit = TemperatureUnit(symbol: "k")
答案 0 :(得分:1)
self
是指init()
函数为您创建的枚举实例。init()
仅初始化枚举实例。只要您声明measuringUnit
为变量,您仍然可以稍后更改枚举值。即measuringUnit = .Celsius