Olá, meu nome é Mark Nair e nessas lições você aprenderá sobre enumerações, ou enums, ou enums em swift. Incluindo sintaxe de enumeração, valores associados, valores brutos usando CaseIterable e enumerações recursivas. De acordo com o guia de programação Swift, uma enumeração define um tipo comum para um grupo de valores relacionados e permite que você trabalhe com esses valores de forma segura dentro do seu código. Digamos que você esteja fazendo um jogo, e seu personagem do jogo pode se mover para cima, baixo, esquerda e direita mas você não quer ir na diagonal. Você pode usar um enum para agrupar esses valores juntos e evitar o movimento diagonal errante. Então, quando você cria um enum, você usa a palavra-chave enum e então você adiciona a definição do enum entre chaves, assim. Então, a palavra-chave, agora vou nomear o enum. Vou chamar isso de uma direção, para o nosso exemplo deles sendo para cima, para baixo, para a esquerda e para a direita. Agora coloquei o nome em maiúscula porque este é um novo tipo. Assim como tudo mais, se for um novo tipo apenas capitalize, no que diz respeito ao estilo. Tudo bem, agora chaves, então todo o outro código caberá aqui. Agora, esses são os casos que usaremos na enumeração. É assim, é assim que relacionamos os valores. Então eu quero ir para cima, para baixo, para a esquerda e para a direita. Então, cada um deles terá um caso, e depois para cima, baixa. Então quatro casos. Agora, se eu criar uma nova variável, neste caso, vou chamá-lo apenas de movimento do personagem. Agora um movimento de personagem, Swift não sabe qual é o tipo. É por isso que temos o tipo de erro ausente, e não pode interpretar isso. Não pode realmente inferir o que é de qualquer contexto. Então vamos dar um pouco. Agora vou torná-lo igual à nossa direção enum, e então usarei a sintaxe de ponto ponto. E então aqui posso escolher entre meus diferentes casos. Então vamos para a direita. Agora, se eu olhar para o movimento do meu personagem por opção clicando nele, posso ver o movimento do personagem var é do tipo direção. Direção é claro, bem aqui, é o que definimos é o nosso enum. Já que Swift conhece o movimento do personagem agora é do tipo direção, Eu posso facilmente realocar, fazer algo assim. E em vez de dizer a direção do ponto certo, Posso usar um atalho de apenas dizer ponto. Agora isso funciona apenas porque Swift conhece o tipo. Swift não conhece o tipo, não funciona. Aqui está outro exemplo de enum. Tudo bem, então eu tenho paus, copas, espadas e ouros. A carta de jogo normal. Amplie isso um pouco. Você também pode determinar seus casos dessa maneira em uma linha, então não precisamos usar maiúsculas e minúsculas o tempo todo. Eu poderia apenas separá-lo por vírgula. É apenas estilisticamente o que você gosta. E a mesma coisa vale para se meu cartão, agora eu poderia defini-lo eu poderia dizer o meu cartão e, em seguida, usando a sintaxe de ponto. Apenas fazendo isso. Portanto, posso ser explícito na definição. E fazendo isso, posso usar meu atalho aqui. Ou se não for explícito, claro eu teria que dizer. De qualquer maneira, Swift sabe que meu cartão é do tipo naipes. E é assim que fazemos isso. Agora podemos usar a instrução switch para ir através desses diferentes valores. Enum da cidade com quatro cidades diferentes, pontos de férias. Eu só quero quatro seleções. Eu não quero mais nada. Eu não quero infinito. Então, apenas Paris, Tunis, Wellington e Praga. Agora vou fazer uma função onde posso viajar e determine qual cidade e, em seguida, faça com que o código responda ao que eu faço na função. Tão. Então, aqui o nome da minha função é viajar. Estou usando o rótulo de função para e, em seguida, destino. E então city é o que usarei do enum. Agora vou ativar este parâmetro para este argumento. Usarei a palavra-chave switch e, em seguida, destination, e então aqui vou configurar meus diferentes casos. Agora, o bom é que tenho um erro. A troca deve ser exaustiva, o que significa que eu tenho que ir através de cada caso, ou ter um caso padrão que cuide de todos os casos individuais. Mas eu sei que só tenho quatro casos, Paris, Tunis, Wellington e Praga que defini aqui na linha 21. Vou usar o Swift, erro muito útil aqui. Deseja adicionar casos ausentes? Sim eu quero. E o Swift adiciona o código para caso, caso, caso para os diferentes. E agora tudo o que tenho a fazer é colocar no código que eu quero executar quando esse caso acontece. Vamos chamar a função. Então vou chamar de viagem. Agora, no meu pequeno pop-up útil aqui Tenho viagem para, agora posso colocar o nome da cidade. Agora, se eu apenas digitar o nome de uma cidade isso não funcionará porque não está referenciando o Enum. Se eu digitar, diga por exemplo Nova York e eu executamos este código, não é possível converter o tipo de string para o tipo de argumento esperado da cidade. Porque lembre-se, city é o tipo enum eles estão pedindo no parâmetro da função. Em vez disso, é muito fácil viajar para, e então eu apenas ponto final no teclado e eu tenho minhas opções aqui. Então eu vou para Praga, e agora, quando o executo, bem-vindo a Praga. Dot Túnis. Bem-vindo a Túnis. Então é assim que criamos, construímos, e, em seguida, use parte da sintaxe em torno de Enums. Obrigado por assistir. na próxima lição Mostrarei como usar valores associados em E-enum.