Sobes.tech
Junior — Middle

Czy możesz wymienić i wyjaśnić przykłady funkcji, które przyjmują inne funkcje jako argumenty?

sobes.tech AI

Odpowiedź od AI

W iOS (Swift) funkcje przyjmujące inne funkcje jako argumenty są często używane do obsługi zdarzeń, operacji asynchronicznych lub konfigurowania zachowania. Przykłady:

  • map — stosuje funkcję do każdego elementu kolekcji:
let numbers = [1, 2, 3]
let squares = numbers.map { $0 * $0 } // [1, 4, 9]
  • filter — wybiera elementy spełniające warunek:
let evens = numbers.filter { $0 % 2 == 0 } // [2]
  • sorted(by:) — sortuje tablicę według zadanego kryterium:
let sortedNumbers = numbers.sorted(by: { $0 > $1 }) // [3, 2, 1]
  • DispatchQueue.main.async — przyjmuje zamknięcie do wykonania kodu asynchronicznie:
DispatchQueue.main.async {
    print("Wykonywane na głównym wątku")
}

Takie funkcje pozwalają pisać bardziej elastyczny i czytelny kod, przekazując logikę jako parametr.