如何在 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 的索引。
最佳答案
为什么它不起作用是因为您的枚举中的所有情况(第一、第二、第三)本质上都是 Ptr
类型(您的枚举类型)。因此,为了获得 0,您需要访问案例的 rawValue
属性,它是一个 Int:
var ix = Ptr.first.rawValue //accessing the case's rawValue property
print (ix)
let e = Double (arr[ix])
希望对您有所帮助!
关于arrays - Swift 枚举作为数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56918262/