swift:枚举常量的类型和值

Man*_*ani 34 enums objective-c ios swift ios8

我知道,枚举常量应该像swift一样

enum CompassPoint {
    case North
    case South
    case East
    case West
}
Run Code Online (Sandbox Code Playgroud)

但是如何为第一个元素赋值,如下面的Objective-C代码

enum ShareButtonID : NSInteger
{
   ShareButtonIDFB = 100,
   ShareButtonIDTwitter,
   ShareButtonIDGoogleplus

}ShareButtonID;
Run Code Online (Sandbox Code Playgroud)

kmi*_*ael 89

你需要给枚举一个类型,然后设置值,在下面的例子中North设置为100,其余的将是101,102等,就像在CObjective-C.

enum CompassPoint: Int {
    case North = 100, South, East, West
}

let rawNorth = CompassPoint.North.rawValue // => 100
let rawSouth = CompassPoint.South.rawValue // => 101
// etc.
Run Code Online (Sandbox Code Playgroud)

更新:替换toRaw()rawValue.

  • `toRaw()`已被`rawValue`取代 (5认同)