Sobes.tech
Junior — Middle

Aké funkcie vyššieho rádu ste použili vo svojich projektoch a môžete uviesť príklady ich použitia?

sobes.tech AI

Odpoveď od AI

V vývoji iOS sa funkcie vyššieho rádu často používajú na spracovanie kolekcií a správu asynchrónnosti. Napríklad metódy map, filter a reduce sú funkcie vyššieho rádu, ktoré prijímajú iné funkcie ako argumenty.

Príklad použitia map na transformáciu poľa čísel:

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

Tiež sa často odovzdávajú uzávierky (closures) do funkcií na spracovanie udalostí alebo asynchrónnych operácií:

func fetchData(completion: (Result<String, Error>) -> Void) {
    // Simulácia asynchrónneho načítania dát
    DispatchQueue.global().async {
        let data = "Dáta"
        completion(.success(data))
    }
}

fetchData { result in
    switch result {
    case .success(let data):
        print("Prijaté: \(data)")
    case .failure(let error):
        print("Chyba: \(error)")
    }
}

Týmto spôsobom umožňujú funkcie vyššieho rádu písanie výstižnejšieho a kompaktnejšieho kódu.