Enumeración rápida

En Swift, una enumeración (abreviatura de enumeración) es un tipo de datos definido por el usuario que tiene un conjunto fijo de valores relacionados.

usamos el enum palabra clave para crear una enumeración. Por ejemplo,

enum Season {
  case spring, summer, autumn, winter
}

Aquí,

  • Season – nombre de la enumeración
  • spring/summer/autumn/winter – valores definidos dentro de la enumeración

Nota: Los valores de enumeración también se denominan enumerar casos. Y, usamos el case palabra clave para declarar valores dentro de la enumeración.


Crear variables de enumeración

Dado que enum es un tipo de datos, podemos crear variables de tipo enum. Por ejemplo,

var currentSeason: Season

Aquí, currentSeason es un Season variable tipo. Solo puede almacenar valores (spring, summer, autumn, winter) presente dentro de la enumeración.

Asignar valores a las variables de enumeración

Usamos el nombre de enumeración y el . notación para asignar valores a una variable de enumeración. Por ejemplo,

// assign summer to currentSeason variable
var currentSeason = Season.summer

Aquí, hemos asignado el valor del miembro summer a la variable de enumeración currentSeason.


Ejemplo: enumeración rápida

// define enum 
enum Season {
  
  // define enum values
  case spring, summer, autumn, winter
}

// create enum variable
var currentSeason: Season

// assign value to enum variable
currentSeason = Season.summer

print("Current Season:", currentSeason)

Producción

Current Season: summer

En el ejemplo anterior,

  • Season – una enumeración con 4 valores: spring, summer, autumn, winter
  • currentSeason – variable de tipo de enumeración
  • currentSeason = Season.summer – asigna valor de enumeración a currentSeason

Nota: Similar a las variables, también podemos crear variables de enumeración y asignar valor en una sola línea. Por ejemplo,

var lastSeason = Season.spring

Enumeración rápida con declaración de cambio

También podemos usar una enumeración con una declaración de cambio en Swift. Por ejemplo,

enum PizzaSize {
  case small, medium, large
}

var size = PizzaSize.medium

switch(size) {
  case .small:
    print("I ordered a small size pizza.")

  case .medium:
    print("I ordered a medium size pizza.")

   case .large:
     print("I ordered a large size pizza.");
}

Producción

I ordered a medium size pizza. 

En el ejemplo anterior, hemos creado una enumeración llamada PizzaSize con valores: small, medium, large. Note la declaración,

var size = PizzaSize.medium

Aquí, estamos asignando el valor medium a la variable de enumeración size.

Hemos usado la variable enum size dentro de switch declaración. Y, el valor se compara con el valor de cada case declaración.

Como el valor coincide con case .mediumse ejecuta la declaración dentro del caso.


Iterar sobre casos de enumeración

En Swift, usamos el CaseIterable protocolo para iterar sobre una enumeración. Por ejemplo,

enum Season: caseIterable {
  ...
}

Ahora podemos usar el allCases propiedad para recorrer cada caso de una enumeración.

for currentSeason in Season.allCases {
   ...
}

Ejemplo: iterar sobre casos de enumeración

// conform Languages to caseIterable 
enum Season: CaseIterable {
  case spring, summer, autumn, winter 
}

// for loop to iterate over all cases
for currentSeason in Season.allCases {
  print(currentSeason)
}

Producción

spring
summer
autumn
winter

En el ejemplo anterior, hemos conformado el CaseIterable protocolo con la enumeración Season.

Entonces usamos el allCases propiedad con el bucle for para iterar sobre cada caso de la enumeración.


Enumeraciones rápidas con rawValue

En Swift, también podemos asignar valores a cada caso de enumeración. Por ejemplo,

enum Size : Int {
  case small = 10
  case medium = 12
  ...
}

Aquí, hemos asignado valores 29 y 31 enumerar casos small y medium respectivamente. Estos valores se llaman valores brutos.

Tenga en cuenta que hemos utilizado Int con nombre de enumeración para definir que los casos de enumeración solo pueden incluir valores sin formato enteros.

Acceder a los valores sin formato de enumeración

Para acceder al valor sin procesar de una enumeración, usamos el rawValue propiedad. Por ejemplo,

// access raw value 
Size.small.rawValue

Aquí hemos accedido al valor de la medium caso.


Ejemplo: enumeraciones con valores sin procesar

enum Size : Int {
  case small = 10
  case medium = 12
  case large = 14
}

// access raw value of python case
var result = Size.small.rawValue
print(result)

Producción

10

En el ejemplo anterior, hemos creado la enumeración llamada Size que tiene un valor bruto de Int escribe.

Aquí hemos accedido al valor de la small caso usando el rawValue propiedad.

Nota: Los valores brutos pueden ser cadenas, caracteres, enteros o tipos de números de punto flotante.


Valores asociados de enumeración Swift

En Swift, también podemos adjuntar información adicional a un caso de enumeración. Por ejemplo,

enum Laptop {
  
  // associate value 
  case name(String)
  ...
}

Aquí, por el nombre caso, podemos adjuntar un Cuerda escriba valor.

Ahora, podemos asignar el valor asociado al caso.

Laptop.name("Razer")

Aquí, Razer es el valor asociado de la name caso.


Ejemplo: enumeración de valores asociados

enum Laptop {

  // associate string value
  case name(String)

  // associate integer value  
  case price (Int)
}

// pass string value to name
var brand = Laptop.name("Razer")
print(brand)

// pass integer value to price
var offer = Laptop.price(1599)
print(offer)

Producción

name("Razer")
price(1599)

En el ejemplo anterior, el valor asociado

  • Razor se asigna a la name caso.
  • 1599 se asigna a la price caso.

Para obtener más información sobre los valores asociados, visite Valor asociado de enumeración Swift.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *