为什么我不能用这样的原始值定义枚举?
@H_403_6@
Because:
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) }
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)