此代码如何在Swift中生成枚举?

时间:2018-06-23 08:43:12

标签: swift enums

我最近遇到了这段代码来生成枚举。我真的无法理解这一点。

enum Alphabet: String {
  case A
  case B
  case C
}

var i = 1

let alphabet = withUnsafePointer(to: &i) { (pt) -> Alphabet in
  UnsafeRawPointer(pt).load(as: Alphabet.self)
}
print(alphabet) // B

结果:

i = 0 -> alphabet = A
i = 1 -> alphabet = B
i = 2 -> alphabet = C

您如何解释?

我读过某处swift为枚举值提供了hashValue方法,该方法返回枚举内的值的索引。虽然我不确定这是否已记录。

0 个答案:

没有答案