Closures as parameters

Nov 4, 2021
admin

Porque os fechamentos podem ser usados como strings e inteiros, você pode passá-los para funções. A sintaxe para isso pode machucar seu cérebro no início, então vamos levá-lo devagar.

Primeiro, aqui está nosso básico driving() fechamento novamente

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

Se quiséssemos passar esse fechamento para uma função para que ele pudesse ser executado dentro dessa função, especificaríamos o tipo de parâmetro como () -> Void. Isso significa “não aceita nenhum parâmetro, e retorna Void” – forma da Swift de dizer “nada”.

Então, podemos escrever uma função travel() que aceita diferentes tipos de ações de viagem, e imprime uma mensagem antes e depois:

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

Agora podemos chamar isso usando nosso driving fechamento, como este:

travel(action: driving)

SPONSORED Você está cansado de perder tempo depurando sua aplicação Swift? O SDK da Instabug está aqui para ajudá-lo a minimizar o tempo de depuração, fornecendo-lhe detalhes completos do dispositivo, logs de rede e passos de reprodução com cada relatório de bug. Todos os dados são anexados automaticamente. É necessário apenas uma linha de código para configurar. Comece agora o seu teste grátis e envie aplicativos de qualidade!

Tente de graça

Sponsor Hacking com Swift e alcance a maior comunidade Swift do mundo!

Deixe uma resposta

O seu endereço de email não será publicado.