Sobes.tech
Junior — Middle

Welke hogere-orde functies heb je in je projecten gebruikt en kun je voorbeelden geven van hun toepassing?

sobes.tech AI

Antwoord van AI

In iOS-ontwikkeling worden functies van hogere orde vaak gebruikt voor het verwerken van collecties en het beheren van asynchroniciteit. Bijvoorbeeld, de methoden map, filter en reduce zijn functies van hogere orde die andere functies als argumenten accepteren.

Voorbeeld van het gebruik van map om een array van getallen te transformeren:

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

Ook worden closures vaak doorgegeven aan functies om gebeurtenissen of asynchrone operaties te verwerken:

func fetchData(completion: (Result<String, Error>) -> Void) {
    // Simulatie van asynchroon gegevens laden
    DispatchQueue.global().async {
        let data = "Gegevens"
        completion(.success(data))
    }
}

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

Op deze manier maken functies van hogere orde het mogelijk om meer expressieve en compacte code te schrijven.