for-pattern模式匹配中枚举元素的索引

时间:2017-04-12 10:24:40

标签: swift for-loop enums pattern-matching

如何在for case let模式匹配中获取迭代枚举元素的索引?

我有一个枚举:

enum EnumType {
    case A(associatedValue: Int)
    case B(associatedValue: String)
}

和枚举元素数组:

let arrayOfEnums: [EnumType] = [.A(1), B("A"), .A(2), B("B")]

for循环中,我只迭代A个元素,我想得到arrayOfEnums数组中当前迭代元素的索引:

for case let EnumType.A(associatedValue) in arrayOfEnums {
    // operations here
}

我知道我可以从Array.enumerated()获取索引,但我不知道如何在for case中执行此操作。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案:

for case let (index, EnumType.A(associatedValue)) in arrayOfEnums.enumerated() {
    // operations here
}