Slutninger som parametre

nov 4, 2021
admin

Da lukninger kan bruges på samme måde som strenge og hele tal, kan du sende dem ind i funktioner. Syntaksen for dette kan gøre ondt på din hjerne i starten, så vi tager det langsomt.

Først, her er vores grundlæggende driving() closure igen

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

Hvis vi ønskede at videregive denne closure til en funktion, så den kan køres inde i denne funktion, ville vi angive parametertypen som () -> Void. Det betyder “accepterer ingen parametre og returnerer Void” – Swift’s måde at sige “ingenting” på.

Så vi kan skrive en travel()-funktion, der accepterer forskellige typer rejsehandlinger og udskriver en meddelelse før og efter:

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

Vi kan nu kalde den ved hjælp af vores driving closure, som her:

travel(action: driving)

SPONSORED Er du træt af at spilde tid på at fejlfinde din Swift-app? Instabugs SDK er her for at hjælpe dig med at minimere fejlfindingstiden ved at give dig komplette enhedsoplysninger, netværkslogfiler og reproduktionstrin med hver fejlrapport. Alle data vedhæftes automatisk. Det kræver kun en linje kode at opsætte. Start din gratis prøveversion nu, og send kvalitetsapps!

Prøv det gratis

Sponsor Hacking with Swift, og nå verdens største Swift-fællesskab!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.