DEV Community

Beatriz da Silva
Beatriz da Silva

Posted on

2 1

Dia 5 - #100DaysOfSwift

Funções

Servem pra criar blocos de código que serão usados mais de uma vez, assim reduzindo código repetido. É uma boa prática criar funções que tenham apenas uma responsabilidade.

Quando a função tem uma única expressão a palavra reservada return pode ser omitida:
Image description

É possível retornar mais de um valor numa função usando tuplas ou alguma coleção(array ou dicionário):
Image description

Swift permite que coloquemos dois nomes em cada parâmetro, sendo o primeiro de uso externo e o segundo de uso interno, permite também omitir o parâmetro na chamada da função(usando _), ambas as formas podem ser usadas pra deixar o código mais fácil de ler.
Image description

Quando temos um parâmetro que na maioria das vezes vai receber um valor específico, pra facilitar dá pra colocar um parâmetro padrão.

Throwing functions

As vezes num código algo pode dar erro, mas ser um erro mais "tranquilo", por exemplo quando um app consome dados de uma API e por algum motivo não foi possível decodificar os dados que estão sendo recebidos, nesses casos é muito útil saber que um erro aconteceu sem crashar o app, assim é possível dar um feedback visual pro usuário e deixá-lo livre pra tentar fazer outras coisas no app.

O Swift nos permite lançar erros dentro de funções, pra isso é preciso colocar a palavra throws antes do tipo de retorno da função, e dentro dela usar a palavra throw quando algo der errado e aí chamar algum erro que você criou num enum que conforma com o protocolo Error.

Pra chamar uma throwing function é preciso usar três palavras: do, try, e catch, como a linguagem nos força a usar try ao chamar uma throwing function, fica bem fácil de saber visualmente quais funções podem ou não causar erros.

Image description

Sentry mobile image

Improving mobile performance, from slow screens to app start time

Based on our experience working with thousands of mobile developer teams, we developed a mobile monitoring maturity curve.

Read more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️