Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvidas referente ao Gard let

O professor inseriu esse trecho de codigo, porém fiquei cheio de duvidas, principalmente ao utilizar a virgula, não consegui compreender o que foi feito ali, qual o objetivo da virgula e cada item dessa verificação, poderiam me exemplificar por favor?

guard let felicidadeDaRefeicao = felicidadeTexField?.text, let felicidade = Int(felicidadeDaRefeicao) else {
            return
 }    
1 resposta
solução!

O "guard let", assim como o "if let" é uma forma segura de extrair o valor de uma variável opcional. No caso, neste trecho de código que você mandou, o guard let primeiro verifica se o campo de texto (felicidadeTextField) possui algum valor, caso possua, ele armazena o valor na constante "felicidadeDaRefeicao". A virgula separa o primeiro condicional do segundo, ou seja, após validar se o campo de texto possui valor, ele tenta realizar a conversão do mesmo valor para o tipo Int (Esse processo de conversão retorna um valor opcional, por isso ele se encaixa no contexto do guard let); Caso o valor do campo de texto seja convertido com sucesso para o tipo Int, ele é então armazenado em uma constante chamada "felicidade". O "else" faz o retorno caso uma ou mais condições falhem, impedindo assim que o resto do código seja execultado, evitando que o aplicativo sofra uma quebra.