Enums em Swift

Pressione o interruptor para ligar ou desligar

enums permitem definir um tipo para um grupo de valores relacionados, para que você possa trabalhar com esses valores sem usar algo horrível (como Strings) que o manteria acordado à noite. enums podem ser considerados estruturas com a capacidade de categorizar.

Pré-requisitos:

  • Ser capaz de produzir um “Olá, mundo!” Aplicativo iOS (guia AQUI )
  • Seria útil estar familiarizado com Propriedades em Swift (guia AQUI )

Valores associados: dados extras que podem ser armazenados com enums para representar dados complexos

enum: Um tipo que consiste em um conjunto de valores nomeados, chamados membros

Propriedade armazenada: uma constante ou variável armazenada como parte de uma classe ou estrutura

Tipo: Este é o tipo (tipo!) De valor que uma variável ou constante pode armazenar

Implementações simples

Este não pretende ser um guia introdutório como o guia de programação Swifthttps://docs.swift.org/swift-book/LanguageGuide/Enumerations.htmlrealmente cobre a maioria dos usos simples de enums. No entanto, faz sentido começar de algum lugar sensato, então imagine que você deseja um caso em que possa comprar ou vender ações.

Como no código acima, é muito fácil comparar enums (o caso verdadeiro e falso)

Certamente podemos melhorar isso…

enums com valores associados

O stock e o montante podem ser associados à negociação, pelo que podemos ter tipos associados:

Seria sensato associar ações e um valor também ao caso de venda. Ah, e você também pode especificar argumentos padrão para valores enum da mesma forma que as funções podem ter valores padrão .

Comparando enums com valores associados

Em qualquer caso, pode ser complicado devolver o estoque e o valor. Uma maneira é simplesmente imprimir a negociação conforme acima, mas e se quisermos agir de acordo com o valor do estoque?

Como podemos ver, o componente padrão da instrução switch pode ser bastante confuso. Uma alternativa é a seguinte:

Enums aninhados

Tipos aninhados são frequentemente usados ​​em Swift. Não há razão para não podermos usar enums aninhados e, na verdade, isso pode ser feito da seguinte maneira:

Métodos em tipos enum

enums são apenas um tipo. Portanto, os métodos podem ser facilmente anexados da mesma forma que você faria com estruturas e classes.

Mas há mais: se você instruir uma propriedade de instância armazenada como let introduzido: Int você poderá ver este aviso:

enums têm propriedades de tipo, mas não armazenam propriedades de instância como uma opção de design. enums armazenam dados tendo vários casos, cada um dos quais pode ter valores associados. Ter propriedades armazenadas em enums faria com que elas se parecessem com estruturas e talvez até significasse que as estruturas não seriam mais úteis.

Aliás, métodos estáticos são possíveis, mas serão chamados pelo nome do tipo, em vez de por uma instância específica do mesmo.

Funções mutantes

Assim como as estruturas, as enums podem ter funções mutantes. Podemos aproveitar a ideia de que comparar enums sem valores associados é fácil de criar um interruptor de luz

Limitações

Enums não podem ter propriedades armazenadas: :(

Conclusão:

Enums (abreviação de enumeração) são ótimos para fornecer coleções de valores onde você só pode retirar um de um pequeno conjunto de valores possíveis. Algo como a moeda aceita em um determinado aeroporto seria adequado para enumerações.

Usar enum em vez de inteiros ou strings pode criar verificação em tempo de compilação, o que ajuda a evitar erros! Porém, tenha cuidado, pois o uso excessivo de enumerações pode indicar que há muitas responsabilidades em aulas únicas.

Como sempre, cabe a você, como programador, decidir o que e como resolver o problema que você tem.

O repositório:

Quero o código deste post. Vá em frente então, só desta vez.

O contato do Twitter:

Alguma pergunta? Você pode entrar em contato comigo aqui

Suggested posts

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

A palavra D e a palavra L em UI Design. Questões de Linguagem. Não seja racista.

A palavra D e a palavra L em UI Design. Questões de Linguagem. Não seja racista.

Nossa linguagem é uma ferramenta poderosa que pode moldar nossos pensamentos, atitudes e ações. Mesmo termos aparentemente inofensivos podem perpetuar preconceitos e estereótipos nocivos.

Related posts

3 maneiras comprovadas de melhorar sua habilidade de escrita

Os benefícios de escrever e estratégias para ajudá-lo a fazê-lo

3 maneiras comprovadas de melhorar sua habilidade de escrita

Em 2022, com o lançamento do GPT-3, a habilidade de escrita parece se tornar menos importante. Com a IA, pessoas com redação ruim também podem gerar funcionários de qualidade.

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

A performance solo da garota ruiva

A pedido de Hayden, Katie se filma se masturbando.

A performance solo da garota ruiva

Passava da meia-noite quando Hayden levou Katie de volta ao dormitório da faculdade depois da noite juntos. Ela tinha aula cedo de manhã e não tinha outra troca de roupa depois de ter ficado com ele na noite anterior.

Rede de TV Twitter

Rede de TV Twitter

O que é velho agora é novo de novo e o que costumava ser a coisa brilhante e brilhante agora parece opaco. Não estou falando de jeans JNCO fazendo um retorno entre os garotos legais do centro da cidade junto com outras modas do final dos anos 1990.