Closures as parameters
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!