swift – 使用原始值进行枚举

前端之家收集整理的这篇文章主要介绍了swift – 使用原始值进行枚举前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我不能用这样的原始值定义枚举?
enum Edges : (Double,Double) {
    case TopLeft = (0.0,0.0)
    case TopRight = (1.0,0.0)
    case BottomLeft = (0.0,1.0)
    case BottomRight = (1.0,1.0)
}
@H_403_6@ Because

Raw values can be strings,characters,or any of the integer or floating-point number types.

但是有一个替代解决方案:

enum Edges {
    case TopLeft
    case TopRight
    case BottomLeft
    case BottomRight

    func getTuple() -> (Double,Double) {
        switch self {
        case .TopLeft:
            return (0.0,0.0)
        case .TopRight:
            return (1.0,0.0)
        case .BottomLeft:
            return (0.0,1.0)
        case .BottomRight:
            return (1.0,1.0)
        }
    }
}

let a = Edges.BottomLeft
a.getTuple() // returning (0,1)

猜你在找的Swift相关文章