Uzávěry jako parametry

Lis 4, 2021
admin

Protože lze uzávěry používat stejně jako řetězce a celá čísla, můžete je předávat do funkcí. Z této syntaxe vás může zpočátku bolet mozek, takže na to půjdeme pomalu.

Nejprve opět náš základní uzávěr driving()

let driving = { print("I'm driving in my car")}

Pokud bychom chtěli tento uzávěr předat do funkce, aby mohl být spuštěn uvnitř této funkce, zadali bychom typ parametru () -> Void. To znamená „nepřijímá žádné parametry a vrací Void„, což je způsob, jakým Swift říká „nic“.

Můžeme tedy napsat funkci travel(), která přijímá různé druhy cestovních akcí a vypisuje zprávu před a po:

func travel(action: () -> Void) { print("I'm getting ready to go.") action() print("I arrived!")}

Tu nyní můžeme zavolat pomocí našeho uzávěru driving, například takto:

travel(action: driving)

SPONSORED Už vás nebaví ztrácet čas laděním aplikace Swift? Instabug SDK je tu proto, aby vám pomohl minimalizovat čas potřebný k ladění tím, že vám u každého hlášení chyby poskytne kompletní údaje o zařízení, síťové protokoly a kroky reprodukce. Všechna data jsou připojena automaticky. K nastavení stačí jediný řádek kódu. Spusťte zkušební verzi zdarma hned teď a dodávejte kvalitní aplikace!

Vyzkoušejte zdarma

Sponzorujte Hacking with Swift a oslovte největší komunitu uživatelů Swiftu na světě!

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.