Associare Valori a un Enum in Swift

Swift offre la possibilità di definire un enum così come molti altri linguaggi di programmazione.

Un enum definisce un tipo comune per un certo gruppo di valori e permette di interagire all’interno del codice con questi valori in modo sicuro.

– The Swift programming Language

Vediamo un esempio di enum

A questo punto possiamo definire una variabile di tipo Direction

popolarla

e usare uno switch per eseguire un codice diverso in base al suo contenuto

Valori Associati

Una caratteristica interessante degli enum di Swift, è che possono contenere dei valori associati.

Immaginiamo di voler creare una lista contenente le indicazioni per raggiungere una certa posizione. La lista dovrà contenere valori del tipo

  1. 10 metri verso nord
  2. 5 metri verso ovest
  3. 8 metri versi sud
  4. ancora 5 metri verso nord

e così via…

Ogni elemento della lista dovrebbe quindi contenere 2 informazioni

  1. la direzione
  2. il numero di metri da percorrere in quella direzione

Potremmo creare una struct con un campo Direction e un campo Int. Tuttavia esiste un modo più elegante.

Ridefiniamo Direction come segue

Abbiamo aggiunto un Associated Value a ognuno dei 4 case (volendo avremmo potuto aggiungerlo solo ad alcuni di essi, oppure avremmo potuto associare diversi tipi di dato a ogni case).

A questo punto quando creiamo un valore di tipo Direction dobbiamo specificare sia il tipo che il suo associated value.

Possiamo finalmente creare il nostro array di direzioni

Possiamo ora scorrere ed estrarre valori scrivendo

Risultato

 

Luca Angeletti

Trainer • Developer • Writer

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *