Swift枚举作为数组的索引

时间:2019-07-06 23:17:28

标签: arrays swift enums

如何在Swift中使用枚举将简单索引建立到数组中?

我是一名试图理解Swift的C程序员。这很困惑。

var  arr: [String] = ["2.16", "4.3", "0.101"]

enum Ptr: Int {
    case first = 0
    case second = 1
    case third = 2    
}

var ix = Int(Ptr.first)
print (ix)
let e = Double (arr[ix])

`

我希望Ptr.first会产生一个0整数,可以作为数组arr的索引。

1 个答案:

答案 0 :(得分:2)

之所以不起作用,是因为枚举中的所有情况(第一,第二,第三)基本上都是Ptr类型(枚举的类型)。因此,为了获得0,您需要访问案例的rawValue属性,该属性是一个Int:

var ix = Ptr.first.rawValue //accessing the case's rawValue property
print (ix)
let e = Double (arr[ix])

希望有帮助!