Swift Mapping for Enumerations
A Slice enumeration maps to a Swift enumeration that stores raw values of type UInt8 or Int32. For example:
Slice
enum Fruit { Apple, Pear, Orange }
The mapped Swift enumeration is very similar:
Swift
public enum Fruit: UInt8 {
case Apple = 0
case Pear = 1
case Orange = 2
public init() {
self = .Apple
}
}
The raw value type for the generated enumeration is UInt8 when the largest enumerator value is 255 or less; otherwise, the raw value type is In32.
Suppose we modify the Slice definition to include a custom enumerator value:
Slice
enum Fruit { Apple, Pear = 3, Orange }
The generated Swift definition now includes adjusted values for each enumerators:
Swift
public enum Fruit: UInt8 {
case Apple = 0
case Pear = 3
case Orange = 4
public init() {
self = .Apple
}
}