Sobes.tech
Junior — Middle

Jaké funkce vyššího řádu jste použili ve svých projektech a můžete uvést příklady jejich použití?

sobes.tech AI

Odpověď od AI

V vývoji iOS se funkce vyššího řádu často používají k zpracování kolekcí a správě asynchronnosti. Například metody map, filter a reduce jsou funkce vyššího řádu, které přijímají jiné funkce jako argumenty.

Příklad použití map k transformaci pole čísel:

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

Také jsou často předávány uzávěry (closures) do funkcí pro zpracování událostí nebo asynchronních operací:

func fetchData(completion: (Result<String, Error>) -> Void) {
    // Simulace asynchronního načítání dat
    DispatchQueue.global().async {
        let data = "Data"
        completion(.success(data))
    }
}

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

Tímto způsobem umožňují funkce vyššího řádu psaní výstižnějšího a kompaktnějšího kódu.