2016-07-18 5 views
1

Ich habe eine ENUM erstelltEnum Fall einen eingebauten Typ Name Shadowing

enum CellType { 
    case String 
    case TextView 
    case Date 
    case Int 
    case Float 
    case Radiobox(data: [String]) 
    case Checkbox 
    case Email 
    case Boolean 
    case Image 
    case Empty 
} 

Weil ich ein case String ich nicht String in case Radiobox(data: [String]) verwenden können, anstatt ich einen Fehler. Aber wenn ich die case String entferne, gibt es keinen Fehler.

Gibt es eine Möglichkeit, dies zu umgehen?

Antwort

3

Alle build-in-Typen sind unter Modul Swift so können Sie mit dem build-in String Typ als Swift.String

enum CellType { 
    case String 
    case TextView 
    case Date 
    case Int 
    case Float 
    case Radiobox(data: [Swift.String]) 
    case Checkbox 
    case Email 
    case Boolean 
    case Image 
    case Empty 
} 

let a = CellType.String 
let b = CellType.Radiobox(data: ["s"]) 
+0

es funktioniert dank siehe :) – terr