0Pricing
Swift Academy · Lezione

Valori grezzi e CaseIterable

Enum basati su String, Int o altri tipi RawRepresentable, insieme a allCases.

Valori grezzi e CaseIterable è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Benvenuto

Gli enum Swift possono avere *raw values*, ovvero valori letterali memorizzati con ogni case. La conformità a `CaseIterable` fornisce automaticamente una raccolta di tutti i case.

Enum con valori raw

```swift enum Direction: String { case north = "N" case south = "S" case east = "E" case west = "W" } print(Direction.north.rawValue) // "N" ```

Valori raw Int con incremento automatico

```swift enum Planet: Int { case mercury = 1 case venus // 2 (auto) case earth // 3 case mars // 4 } print(Planet.earth.rawValue) // 3 ```

Valori raw String con nome automatico

```swift enum Color: String { case red, green, blue } print(Color.blue.rawValue) // "blue" — auto-named ``` Con i valori raw String, se omette l'assegnazione, il valore raw coincide con il nome del case.

init?(rawValue:) — inizializzatore failable

```swift if let dir = Direction(rawValue: "N") { print(dir) // Direction.north } let invalid = Direction(rawValue: "X") // nil ``` L'inizializzatore failable generato automaticamente restituisce nil per i valori raw non riconosciuti.

CaseIterable

```swift enum Season: CaseIterable { case spring, summer, autumn, winter } print(Season.allCases) // [.spring,.summer,.autumn,.winter] print(Season.allCases.count) // 4 ```

Iterazione su tutti i case

```swift for season in Season.allCases { print(season) } let picker = Season.allCases.map { "\($0)".capitalized } ```

CaseIterable con valori raw

```swift enum Suit: String, CaseIterable { case hearts="♥", diamonds="♦", clubs="♣", spades="♠" } print(Suit.allCases.map { $0.rawValue }) // ["♥","♦","♣","♠"] ```

Valori raw per Codable

Gli enum con valori raw String funzionano senza problemi con `Codable`: ```swift enum Status: String, Codable { case active, inactive, pending } struct User: Codable { var status: Status } // JSON "active" decodes to .active automatically ```

Valori raw per maschere di bit

```swift struct Permission: OptionSet { let rawValue: Int static let read = Permission(rawValue: 1 << 0) static let write = Permission(rawValue: 1 << 1) static let execute = Permission(rawValue: 1 << 2) } var p: Permission = [.read, .write] print(p.contains(.read)) // true ```

Verifica rapida

Quale protocollo rende accessibili tutti i case di un enum tramite `allCases`?

Riepilogo

Concetti chiave: • Valori raw: `enum E: String { case a = "x" }` • I valori raw Int aumentano automaticamente; i valori raw String hanno come valore predefinito il nome del case • `init?(rawValue:)` viene generato automaticamente ed è failable • `CaseIterable` fornisce la proprietà statica `.allCases` • Combinazione: `String, CaseIterable` per menu e picker Prossimo argomento: valori associati.

Domande Frequenti

La lezione «Valori grezzi e CaseIterable» è gratuita?

Sì — il testo completo di «Valori grezzi e CaseIterable» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Valori grezzi e CaseIterable»?

Enum basati su String, Int o altri tipi RawRepresentable, insieme a allCases. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Valori grezzi e CaseIterable»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Valori grezzi e CaseIterable
  2. Valori associati per dati complessi
  3. Enum indirect e strutture ricorsive
  4. Modellare macchine a stati con gli enum
← Torna a Swift Academy