Sobes.tech
Junior — Middle

Quali funzioni di ordine superiore hai utilizzato nei tuoi progetti e puoi fornire esempi di loro applicazione?

sobes.tech AI

Risposta dell'AI

Nallo sviluppo iOS, le funzioni di ordine superiore sono spesso utilizzate per elaborare le collezioni e gestire l’asincronia. Ad esempio, i metodi map, filter e reduce sono funzioni di ordine superiore che accettano altre funzioni come argomenti.

Esempio di utilizzo di map per trasformare un array di numeri:

let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers) // [1, 4, 9, 16, 25]

Anche le closure vengono spesso passate alle funzioni per gestire eventi o operazioni asincrone:

func fetchData(completion: (Result<String, Error>) -> Void) {
    // Simulazione di caricamento dati asincrono
    DispatchQueue.global().async {
        let data = "Dati"
        completion(.success(data))
    }
}

fetchData { result in
    switch result {
    case .success(let data):
        print("Ricevuto: \(data)")
    case .failure(let error):
        print("Errore: \(error)")
    }
}

In questo modo, le funzioni di ordine superiore permettono di scrivere codice più espressivo e compatto.