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à)

Approfondisci

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. Approfondisci

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.

Approfondisci