2016-05-24 2 views

Antwort

1

Von Apple docs:

Rohwerte

Das Barcode Beispiel in assoziierten Werten zeigt, wie Fälle einer Aufzählung erklären können, dass Sie speichern zugehörige Werte verschiedener Typen. Als Alternative zu verknüpften Werten können Aufzählungsfälle mit Standardwerten (sogenannten Rohwerten) ausgefüllt werden, die vom selben Typ sind.

Also ich denke, es ist das gleiche.

Auf der anderen Seite, mit „Standardwert“, können Sie auf den Standardwert eines ENUM-Fall mit Bezug wo keine Werte festgelegt wurden, zum Beispiel:

enum TestEnum: Int {  
    case A 
    case B  
} 

Hier hat TestEnum.A eine Standard Der Wert 0 und TestEnum.B hat einen Standardwert von 1.

Raw Wert bezieht sich auf den tatsächlichen Wert eines Aufzählungs Fall (in den Typ der Enumeration, in diesem Beispiel wäre es Int sein):

enum TestEnum: Int {  
    case A 
    case B = 3 
} 

Hier hat TestEnum.A den Standardwert (die auch die roh Wert) von 0 und TestEnum.B hat einen Rohwert von 3 (der nicht mehr der Standardwert ist).

+1

.... wie kann ich diesen Satz verpasst haben ... "mit Standardwerten (so genannte Rohwerte)" Danke Viel Mann :) – SLN

+0

Danke! Vielen Dank! Mann, ich glaube ich verstehe es jetzt ein bisschen besser. Wenn Sie den Raw-Wert nicht setzen, gibt der Compiler automatisch 0 (für int, Double, Flot) oder der Name selbst ist der rohe Wert (für String). Wenn Sie in der Funktion oder Struktur der Eigenschaft keinen Standardwert zuweisen, generiert der Compiler nicht automatisch einen Raw-Wert für Sie. – SLN

+0

@SLN enum cases haben immer einen rohen Wert, sonst wird sie nicht kompiliert. Wenn Sie zum Beispiel eine Zeichenaufzählung erstellen, ohne die rawValues ​​explizit festzulegen (da Zeichenaufzählungen keine Standardwerte haben) – Daniel

Verwandte Themen