作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读“Swift 编程语言 2.1”并遇到以下代码。我只是想知道关键字“self
”指的是什么?当我创建TemperatureUnit的实例时,varmeasurementUnit=TemperatureUnit(symbol: "k")
,这将依次将.Kelvin
分配给self
,但这是否意味着 TemperatureUnit
枚举的这个特定实例仅存在 case Kelvin
?
摄氏温度和华氏温度将不再存在,至少对于这个 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")
最佳答案
self
指的是 init()
函数为您创建的枚举实例。init()
仅初始化枚举实例。只要您将 measuringUnit
声明为变量,您以后仍然可以更改枚举值。即 measuringUnit = .Celsius
关于swift - 枚举类的初始化和将TemperatureUnit.Kelvin分配给self(self = .Kelvin)的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024388/
我是一名优秀的程序员,十分优秀!