Swift Language Enumerazioni di base


Esempio

Un enum fornisce un insieme di valori correlati:

enum Direction {
    case up
    case down
    case left
    case right
}

enum Direction { case up, down, left, right }

I valori Enum possono essere utilizzati dal loro nome completo, ma è possibile omettere il nome del tipo quando può essere desunto:

let dir = Direction.up
let dir: Direction = Direction.up
let dir: Direction = .up

// func move(dir: Direction)...
move(Direction.up)
move(.up)

obj.dir = Direction.up
obj.dir = .up

Il modo più fondamentale per confrontare / estrarre i valori enum è con un'istruzione switch :

switch dir {
case .up:
    // handle the up case
case .down:
    // handle the down case
case .left:
    // handle the left case
case .right:
    // handle the right case
}

Le enumerazioni semplici sono automaticamente Hashable , Equatable e hanno conversioni di stringhe:

if dir == .down { ... }

let dirs: Set<Direction> = [.right, .left]

print(Direction.up)  // prints "up"
debugPrint(Direction.up)  // prints "Direction.up"