Zamknięcia jako parametry
Ponieważ zamknięcia mogą być używane tak samo jak łańcuchy i liczby całkowite, możesz przekazywać je do funkcji. Składnia tego może zranić twój mózg na początku, więc zrobimy to powoli.
Po pierwsze, oto nasze podstawowe driving()
domknięcie ponownie
let driving = { print("I'm driving in my car")}
Jeśli chcielibyśmy przekazać to domknięcie do funkcji, aby mogło być uruchomione wewnątrz tej funkcji, określilibyśmy typ parametru jako () -> Void
. Oznacza to, że „nie przyjmuje żadnych parametrów i zwraca Void
” – sposób Swifta na powiedzenie „nic”.
Możemy więc napisać funkcję travel()
, która akceptuje różne rodzaje akcji podróżnych i drukuje wiadomość przed i po:
func travel(action: () -> Void) { print("I'm getting ready to go.") action() print("I arrived!")}
Możemy teraz wywołać ją za pomocą naszego driving
zamknięcia, jak poniżej:
travel(action: driving)
SPONSOROWANE Czy masz dość marnowania czasu na debugowanie swojej aplikacji Swift? Instabug’s SDK jest tutaj, aby pomóc Ci zminimalizować czas debugowania poprzez dostarczenie Ci kompletnych szczegółów urządzenia, logów sieciowych i kroków odtwarzania z każdym raportem błędu. Wszystkie dane są dołączane automatycznie. Konfiguracja wymaga tylko jednej linijki kodu. Rozpocznij darmową wersję próbną teraz i wysyłaj aplikacje wysokiej jakości!
Wypróbuj za darmo
Sponsoruj Hacking with Swift i dotrzyj do największej na świecie społeczności Swift!