0Pricing
Swift Academy · Aula

Valores brutos e CaseIterable

Enums baseados em String, Int ou outros tipos RawRepresentable, além de allCases.

Valores brutos e CaseIterable é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

As enumerações do Swift podem ter *valores brutos* — valores literais armazenados com cada caso. A conformidade com `CaseIterable` fornece automaticamente uma coleção com todos os casos.

Enumerações com valores brutos

```swift enum Direction: String { case north = "N" case south = "S" case east = "E" case west = "W" } print(Direction.north.rawValue) // "N" ```

Valores brutos inteiros com incremento automático

```swift enum Planet: Int { case mercury = 1 case venus // 2 (auto) case earth // 3 case mars // 4 } print(Planet.earth.rawValue) // 3 ```

Valores brutos de texto nomeados automaticamente

```swift enum Color: String { case red, green, blue } print(Color.blue.rawValue) // "blue" — auto-named ``` Com valores brutos de texto, quando a atribuição é omitida, o valor bruto é igual ao nome do caso.

Inicializador que pode falhar com rawValue

```swift if let dir = Direction(rawValue: "N") { print(dir) // Direction.north } let invalid = Direction(rawValue: "X") // nil ``` O inicializador gerado automaticamente retorna nil para valores brutos não reconhecidos.

CaseIterable

```swift enum Season: CaseIterable { case spring, summer, autumn, winter } print(Season.allCases) // [.spring,.summer,.autumn,.winter] print(Season.allCases.count) // 4 ```

Iterando por todos os casos

```swift for season in Season.allCases { print(season) } let picker = Season.allCases.map { "\($0)".capitalized } ```

CaseIterable com valores brutos

```swift enum Suit: String, CaseIterable { case hearts="♥", diamonds="♦", clubs="♣", spades="♠" } print(Suit.allCases.map { $0.rawValue }) // ["♥","♦","♣","♠"] ```

Valores brutos para codificação

Enumerações com valores brutos de texto funcionam perfeitamente com `Codable`: ```swift enum Status: String, Codable { case active, inactive, pending } struct User: Codable { var status: Status } // JSON "active" decodes to .active automatically ```

Valores brutos para máscaras de bits de permissões

```swift struct Permission: OptionSet { let rawValue: Int static let read = Permission(rawValue: 1 << 0) static let write = Permission(rawValue: 1 << 1) static let execute = Permission(rawValue: 1 << 2) } var p: Permission = [.read, .write] print(p.contains(.read)) // true ```

Verificação rápida

Qual protocolo torna todos os casos de uma enumeração acessíveis por meio de `allCases`?

Recapitulação

Principais conclusões: • Valores brutos: `enum E: String { case a = "x" }` • Valores brutos inteiros são incrementados automaticamente; valores brutos de texto usam o nome do caso por padrão • `init?(rawValue:)` é gerado automaticamente e pode falhar • `CaseIterable` fornece a propriedade estática `.allCases` • Combine `String, CaseIterable` para criar menus e seletores Próximo: valores associados.

Perguntas Frequentes

A aula “Valores brutos e CaseIterable” é grátis?

Sim — o texto completo de “Valores brutos e CaseIterable” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Valores brutos e CaseIterable”?

Enums baseados em String, Int ou outros tipos RawRepresentable, além de allCases. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Valores brutos e CaseIterable”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Valores brutos e CaseIterable
  2. Valores associados para dados mais completos
  3. Enums indiretos e estruturas recursivas
  4. Modelagem de máquinas de estados com enums
← Voltar para Swift Academy