Hola, mi nombre es Mark Nair y en estas lecciones aprenderás sobre enumeraciones, o enumeraciones, o enumeraciones en swift. Incluyendo sintaxis de enumeración, valores asociados, valores sin procesar usando CaseIterable, y enumeraciones recursivas. De acuerdo con la guía de programación de Swift, una enumeración define un tipo común para un grupo de valores relacionados y le permite trabajar con esos valores de forma segura dentro de su código. Así que digamos que estás haciendo un juego, y tu personaje del juego puede moverse hacia arriba, abajo, izquierda y derecha pero no quieres ir en diagonal. Podría usar una enumeración para agrupar estos valores y prevenir el movimiento diagonal errante. Entonces, cuando crea una enumeración, usa la palabra clave enum y luego agregas la definición de la enumeración entre llaves, así. Entonces, la palabra clave, ahora voy a nombrar la enumeración. Voy a llamar a esto una dirección, para nuestro ejemplo de que están arriba, abajo, izquierda y derecha. Ahora he puesto el nombre en mayúscula porque este es un tipo nuevo. Entonces, como todo lo demás, si es un tipo nuevo solo en mayúsculas, en lo que respecta al estilo. Muy bien, ahora llaves, entonces todo el otro código encajará aquí. Ahora estos son los casos que usaremos en la enumeración. Estos son, así es como relacionamos los valores. Así que quiero subir, bajar, izquierda y derecha. Así que cada uno de ellos tendrá un caso, y luego arriba, abajo. Entonces cuatro casos. Ahora, si creo una nueva variable, este caso lo llamaré simplemente movimiento de personajes. Ahora mismo un movimiento de personajes, Swift no sabe cuál es el tipo. Por eso nos falta el tipo de error, y no puede interpretar eso. Realmente no puede inferir lo que es de ningún contexto. Así que vamos a darle un poco. Ahora lo haré igual a nuestra dirección de enumeración, y luego usaré la sintaxis de punto punto. Y luego aquí puedo elegir entre mis diferentes casos. Así que vamos a ir a la derecha. Ahora, si miro el movimiento de mi personaje por opción al hacer clic en él, puedo ver el movimiento del personaje var es de tipo dirección. Dirección, por supuesto, aquí mismo, es lo que definimos es nuestra enumeración. Ya que Swift conoce el movimiento de ese personaje ahora es de tipo dirección, Puedo reasignar fácilmente, hacer algo como esto. Y en lugar de decir punto de dirección a la derecha, Puedo usar un atajo de solo decir punto. Ahora bien, esto funciona solo porque Swift conoce el tipo. Swift no conoce el tipo, no funciona. Aquí hay otro ejemplo de enumeración. Muy bien, tengo tréboles, corazones, picas y diamantes. El naipe normal. Ampliar esto un poco. También puede determinar sus casos de esta manera en una línea, para que no tengamos que usar mayúsculas y minúsculas todo el tiempo. Podría separarlo con comas. Es solo estilísticamente lo que te gusta. Y lo mismo ocurre con si mi tarjeta, ahora podría definirla Podría decir mi tarjeta y luego usando la sintaxis de puntos. Solo haciendo eso. Así que puedo ser explícito en la definición. Y haciendo eso, puedo usar mi atajo aquí mismo. O si no soy explícito, claro Yo debería decir. De cualquier manera, entonces Swift sabe que mi tarjeta es de tipo palo. Y así es como lo hacemos. Ahora podemos usar la instrucción switch para ir a través de estos diferentes valores. Enumeración de la ciudad con cuatro ciudades diferentes, lugares de vacaciones. Sólo quiero cuatro selecciones. No quiero nada más. No quiero infinito. Así que solo París, Túnez, Wellington y Praga. Ahora voy a hacer una funcion donde pueda viajar y determine qué ciudad y luego haga que el código responda a lo que hago en la función. Asi que. Entonces, aquí el nombre de mi función es viajar. Estoy usando la etiqueta de función para, luego el destino. Y luego city es lo que usaré de la enumeración. Ahora voy a activar este parámetro para este argumento. Así que usaré el cambio de palabra clave, luego el destino, y luego aquí configuraré mis diferentes casos. Ahora lo bueno es que aquí tengo un error. El cambio debe ser exhaustivo, lo que significa que tengo que irme a través de cada caso, o tener un caso predeterminado que se encargue de todos los casos individuales. Pero sé que solo tengo cuatro casos, París, Túnez, Wellington y Praga que he definido aquí en la línea 21. Así que voy a usar el Swift, error muy útil aquí. ¿Quieres agregar casos faltantes? Sí. Y Swift agrega muy útilmente el código para caso, caso, caso para los diferentes. Y ahora todo lo que tengo que hacer es poner en el código que quiero ejecutar cuando suceda ese caso. Llamemos a la función. Así que llamaré viajes. Ahora en mi pequeña y práctica ventana emergente aquí Tengo viaje a, ahora puedo poner el nombre de la ciudad. Ahora, si solo escribo el nombre de una ciudad esto no funcionará porque no hace referencia a Enum. Si escribo, digamos por ejemplo Nueva York y ejecuto este código, no se puede convertir el tipo de cadena al argumento esperado tipo de ciudad. Porque recuerda, la ciudad es el tipo de enumeración están pidiendo en el parámetro de función. En cambio, es muy fácil viajar a, y luego menciono el punto en el teclado y tengo mis opciones aquí. Así que me iré a Praga, y ahora cuando lo ejecute, bienvenido a Praga. Punto Túnez. Bienvenido a Túnez. Así es como creamos, construimos, y luego use algo de la sintaxis alrededor de Enums. Gracias por ver. En la próxima lección Le mostraré cómo usar valores asociados en E-enum.