Skip to main content
Bright green leaf

Differenze tra Reference Type e Value Type in Swift

In Swift esistono 3 tipi di dati:

  1. Class
  2. Struct
  3. Enum

Class è un Reference Type mentre Struct e Enum sono Value Type.

La differenza fondamentale è che nel caso di Reference Type, n variabili (o costanti) possono referenziare la stessa istanza di una classe.

Nell’ambito dei Value Type invece, un valore può essere referenziato da una sola variabile (o costante).

(altro…)

iKeyboard

Swift: aggiungere metodi e proprietà a un oggetto

L’extension è una funzionalità di Swift che può tornare utile quando vogliamo aggiungere metodi o proprietà a un oggetto.

Il paradigma della programmazione a oggetti permette di estendere tramite subclassing una classe in modo da aggiungere funzionalità ma non sempre possiamo ricorrere a questa tecnica. Vediamo alcuni esempi:

  1. L’oggetto a cui vogliamo aggiungere funzionalità è di una classe dichiarata final
  2. Non vogliamo creare una sottoclasse ma di fatto aggiungere la funzionalità all’oggetto già presente
  3. L’oggetto non è di tipo class ma di tipo struct (le struct non supportano l’ereditarietà)

(altro…)

Kiwi and Lemon

Il metodo reduce di Array in Swift

La Struct Array in Swift espone il metodo reduce, si tratta di una funzionalità molto potete che permette di ridurre il contenuto di tutto l’array a un singolo valore.

Cerchiamo di capire meglio, questa è la dichiarazione del metodo:

  • U è il tipo del valore che otterremo come risultato (a cui verrà ridotto l’intero Array insomma)
  • T è il tipo dell’Array su cui invochiamo reduce
  • combine è una funzione che riceve 2 parametri: il primo è l’accumulatore del risultato mentre il secondo è l’i-esimo valore dell’Array. Questa funzione restituisce un valore di tipo U.

In realtà si tratta di un concetto più semplice di quanto sembra e l’esempio successivo lo dimostra. (altro…)

Numbers

Trasformare un Array con il metodo map in Swift

Dopo aver visto come filtrare un array in Swift, in questo post esamineremo il metodo map e la tecnica della concatenazione.

Il metodo map della Struct array permette di ottenere un array di un certo tipo U a partire da un array di tipo T.

In altre parole questo metodo permette di convertire gli elementi presenti nell’array di partenza applicando la logica che andremo a indicare in una closure.

(altro…)