2014-06-07 18 views
28

Ich weiß, sollte Enumerationskonstante wie dies in schnellenswift: Enum Konstante mit Typ und Wert

enum CompassPoint { 
    case North 
    case South 
    case East 
    case West 
} 

sein Aber wie kann ich zuweisen Wert zum ersten Elemente, wie Objective-C-Code wie unten

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

}ShareButtonID; 
+0

Lesen Sie diese [offizielle Dokumentation und (Suche Aufzählungen und Strukturen).] (Https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/GuidedTour.html) Hoffe, dass könnte Löse deine Verwirrung. – iPatel

Antwort

78

Sie benötigen eNUM einen Typ und dann eingestellten Werte im Beispiel unten North wird als 100 zu geben, wird der Rest 101, 102 usw. sein, wie gerade in C und Objective-C.

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

let rawNorth = CompassPoint.North.rawValue // => 100 
let rawSouth = CompassPoint.South.rawValue // => 101 
// etc. 

aktualisieren: Ersetzen toRaw() mit rawValue.

+4

'toRaw()' wurde ersetzt durch 'rawValue' – nacho4d

+0

Danke für die Erinnerung, nacho4d. Ich habe die Antwort mit einem kurzen Kommentar über die Änderung aktualisiert. – kmikael

+0

Super! Vielen Dank – nacho4d