简化枚举定义?

时间:2016-12-02 11:19:00

标签: arrays swift indexing enums

我喜欢在Swift 3中使用一些枚举。它们也用作数组的索引。所以他们是Int。我把它们定义为:

enum TypeOfArray: Int {
    case src = 0, dst, srcCache, n
    static var Start: Int { return 0              } 
    static var End  : Int { return n.rawValue - 1 } 

    static let allValues = [src, srcCache, dst]

    init() {
        self = .n
    }
}

所以使用.Start和.End我可以将它们用作循环限制。但每当我使用名称“src”或“dst”本身时,我必须添加“.rawValue”以获取要用作索引的数值。 有没有办法让它更方便,缩短呢? (对于这么简单的任务,我看起来很复杂)

0 个答案:

没有答案