Why I can't define enumeration with raw values like this?
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.
But there is an alternative solution for you:
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)