Home Testo Corso Swift Introduzione alle Enum in Swift

Introduzione alle Enum in Swift

139
0
Enum

In questa lezione vediamo cosa è l’istruizione Enum a cosa serve e come utilizzarla.

Molte volte capita di dover raggruppare un insieme di dati appartenenti a una stessa categoria, si potrei utilizzare array, dizionari ecc ecc ma essi vengono scelti anche per la possibilità di poter interagire con loro tramite le diverse funzioni di inserimento, modifica, cancellazione ecc ecc.

Gli Enum invece vengono creati quando abbiamo bisogno di creare un insieme di dati statici dove non necessità interagire con loro, esempio i giorni della settimana, le regioni d’Italia, i pianeti del sistema solare o semplicemente un elenco di errori che potrebbero verificarsi nella Tua applicazione.

Gli enumeratori ti offrono un nuovo modo per raggruppare elementi della stessa natura.

Ad ogni elemento si associa un case, più o meno come l’istruzione switch, grazie al quale sarà possibile accedere all’elemento stesso. Anche in questo caso ogni case può avere più elementi.

Nell’esempio ho creato un enum contenente i giorni della settimana, poi ho associato l’enum a una variabile e fatto un controllo tramite uno switch del valore e stampato a video il risultato.

Potrei avere anche la necessità di associare un valore a ogni case per poi poterlo utilizzare fuori dalla enum, vediamo come fare:

Nell’esempio ho creato un enum chiamato menu contenete un tipo di dato string, ad ogni case ho associato un stringa e successivamente ho letto il valore tramite l’utilizzo della parola chiave rawValue.

E’ possibile anche accedere al contenuto dell’enum tramite una forma contratta assegnado la nostra enum come tipo di dato a una variabile e poi  assegnandogli tramite  la forma contratta “punto” valore il contenuto del case.

Possiamo inserire una variabile all’interno del mio enum, vediamo come:

nell’esempio a secondo del case selezionato la variabile filename assume il valore del case più una costante .png.

Per qualunque dubbio o domanda scrivi un commento in questa lezione.