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.