枚举案例陈述的计数

时间:2018-05-04 14:10:24

标签: swift enums

我看到了这种模式:

enum Stuff: Int {
        case first = 0
        case second = 1
        case third = 2
        case forth = 3

        static var count = 4

稍后我们将使用此count变量,但我真正想要的是枚举中的case语句数。有没有办法在代码中确定这个? (提示,我不想信任相关的价值)

1 个答案:

答案 0 :(得分:0)

只要你只使用整数就可以添加这个

enum Stuff: Int {
    case first
    case second
    case third
    case forth

    static let count: Int = {
        var max: Int = 0        
        while Stuff(rawValue: max) != .none { max += 1 }
        return max
    }()
}

唯一的问题可能是O(n),而不是O(1)

link:How do I get the count of a Swift enum?