Como5: Manuales Tutoriales y Guias de Internet
Menu
  • inicio
  • Tutoriales
  • Chrome
  • Office
  • Windows
  • Iphone
  • Cupones
Home
iphone
Swift 101: enumeraciones nuevas y potentes

Swift 101: enumeraciones nuevas y potentes

En esta publicación, voy a demostrar algunas de las nuevas y poderosas características de las enumeraciones en Swift.

Índice de contenido

  • 1 Declarar enumeraciones rápidas
  • 2 Valores brutos de enumeración
  • 3 Valores asociados de enumeración
  • 4 Conclusión

Declarar enumeraciones rápidas

Casi todos los lenguajes de programación tienen el concepto de enumeraciones. Una enumeración le permite agrupar un conjunto de constantes relacionadas. Contiene una lista completa de todos los valores posibles para un tipo determinado.

En Swift, declara una enumeración simple de la siguiente manera:

Enum básico

Esta enumeración contiene una lista completa de todas las funciones disponibles en un muy calculadora simple. Cada caso palabra clave declara un miembro separado de la enumeración.

También puede declarar una enumeración utilizando un único caso y enumere los miembros de la enumeración separados por comas como se muestra aquí:

Enum simple

A diferencia de las enumeraciones en Objective-C, a los miembros de una enumeración Swift no se les asigna automáticamente un valor entero. Cada miembro es un valor completo de la enumeración.

Usted hace referencia a los valores de una enumeración especificando el tipo de enumeración, seguido de un punto, y luego el miembro de enumeración como se muestra aquí (especifiqué el tipo de operacion corriente variable para reforzar que es el tipo de enumeración:CalculadoraOperación):

Referencia de valor de enumeración

Esto es diferente a Objective-C donde solo hace referencia al nombre del miembro (es decir, UITableViewCellAccessoryCheckMark). Prefiero la nueva sintaxis Swift ya que demuestra claramente que los miembros son parte de la misma enumeración. De hecho, cuando escribe el nombre de la enumeración y escribe un punto, Code Completion muestra una lista de miembros para elegir.

Una vez que se declara que el tipo de una variable pertenece a una enumeración particular, puede utilizar una sintaxis de puntos abreviada para acceder a los miembros. Esto es particularmente útil en cambiar declaraciones como se muestra aquí:

Valores brutos de enumeración

En ocasiones, es posible que desee asociar un valor con cada miembro de una enumeración. Por ejemplo, en Objective-C es común crear valores de cadena asociados para miembros de enumeración creando una clase contenedora para la enumeración. Esto es un poco torpe, pero funciona.

Afortunadamente, en Swift, esta funcionalidad está integrada en enumeraciones en forma de valores brutos. Por ejemplo, la siguiente enumeración declara un valor de cadena asociado para cada miembro de la enumeración:

valores brutos de enumeración

Al declarar valores sin procesar para una enumeración, agrega dos puntos después del nombre de la enumeración seguido del tipo de los valores sin procesar asociados (todos deben ser del mismo tipo). Luego, especifica el valor sin procesar para cada miembro en la enumeración.

Aquí hay algunas reglas que rigen los valores brutos:

  • Todos los valores brutos deben ser del mismo tipo
  • Los valores brutos pueden ser cadenas, caracteres o cualquier tipo de número entero o de punto flotante
  • Dentro de una enumeración, cada valor bruto debe ser único
  • Los valores enteros sin procesar aumentan automáticamente si no se especifica ningún valor para algunos de los miembros de la enumeración.

Puede acceder al valor bruto de un miembro de enumeración llamando a su toRaw () método. Por ejemplo:

enumeración toRaw ()

Este método acepta un parámetro de tipo DeviceFamily y accede al crudo Cuerda valor llamando al toRaw () método en el DeviceFamily miembro. Entonces, por ejemplo, si DeviceFamily.AppleTV se pasa a este método, la llamada al toRaw () El método almacenará la cadena “Apple TV” en el apellido variable.

Por el contrario, puede utilizar una enumeración fromRaw () método para recuperar el miembro de enumeración para un valor crudo particular como se muestra aquí:

enumeración fromRaw ()

El signo de interrogación después DeviceFamily es la forma de Swift de indicar que el valor de la DeviceFamily la variable puede ser nula. Esto es así porque el fromRaw () Es posible que el método no encuentre un miembro de enumeración coincidente.

Valores asociados de enumeración

En Swift, las enumeraciones también tienen una función avanzada que le permite almacenar valores asociados con miembros de enumeración. Esto es similar en concepto, pero diferente de los valores brutos.

Por ejemplo, el siguiente código declara un Identificador único enumeración que tiene UUID y Autoincremento miembros:

Valores asociados

los UUID miembro puede tener un asociado Cuerda valor y el Autoincremento miembro puede tener un asociado En t valor. Esta enumeración puede usarse en una situación en la que está creando un puente entre dos aplicaciones diferentes: una aplicación que almacena identificadores únicos como valores UUID y otra que almacena identificadores únicos como números enteros.

Tenga en cuenta que el Identificador único La declaración de enumeración no establece el valor de cada miembro como lo hace cuando especifica valores sin procesar. Más bien, simplemente declara el tipo de valor asociado con cada miembro.

Puede declarar que una variable sea de tipo Identificador único y luego almacene un En t o UUID valor en la variable. Por ejemplo:

Enum asignar valores asociados

Puedes usar un cambiar declaración para obtener el valor de un Identificador único variable como se muestra aquí:

Enum obtener valores asociados

en un cambiar declaración, puede extraer cada valor asociado como una variable utilizando la var prefijo o como una constante usando el dejar prefijo como se muestra arriba.

Conclusión

Es genial ver estas funciones potentes y más modernas en Swift. En última instancia, estas herramientas ayudan a proteger su código y hacen que escribir sus aplicaciones de iOS sea aún más fácil.

Publicaciones relacionadas:

Programación rápida 101: mejore sus aplicaciones con pantallas externas Cómo mantener sus notas sensibles fuera de iCloud en iPhone Cómo arreglar el sonido del iPad que no funciona Las 15 mejores aplicaciones gratuitas para viajes internacionales Consejo del día: mayor precisión de los recordatorios basados ​​en la ubicación Cómo usar Animojis en iPhone X (¡Son más divertidos de lo que piensas!) Cómo dejar de seguir a artistas en Apple Music en iPhone Cinco razones por las que la nueva cámara del iPhone 5S es la mejor Funda de la semana para iPhone 6/6 Plus: The Otterbox Defender Cómo agrupar FaceTime en un iPhone – iOS 13 y posterior Revisión: Kanex GoPower Stand carga tanto el Apple Watch como el iPhone en un espacio pequeño Empiece la fiesta con el altavoz Bluetooth ION Party Starter
Prev Article
Next Article

Leave a Reply
Cancelar la respuesta

  • ÚLTIMAS PUBLICACIONES:
laptop lenovo

Laptop Lenovo: Potencia, Diseño y Durabilidad para Trabajar y Jugar

ps5

PS5: ¿Es realmente el futuro del gaming o solo un hype?

Samsung Galaxy S25 Ultra

Descubre el Samsung Galaxy S25 Ultra: Potencia, Diseño y Innovación sin Límites

Parlante Bluetooth

¿Vale la Pena Invertir en un Parlante Bluetooth Premium? Descúbrelo Aquí

Cocinas del Futuro

Cocinas del Futuro: Electrodomésticos Inteligentes que Facilitan la Vida

Ventilador

Ventilador: El Aliado Perfecto para un Clima Ideal

Guía de compra: televisores con la mejor relación calidad-precio

Guía de compra: televisores con la mejor relación calidad-precio

Cyber wow 2024

Cyber wow 2024: descubre las promociones más esperadas

Como5: Manuales Tutoriales y Guias de Internet
Los mejores manuales, tutoriales y guias de Internet, explicados paso a paso con imagenes
Copyright © 2025 Como5: Manuales Tutoriales y Guias de Internet
Políticas | Cookies | Responsabilidad | Nosotros | Contacto | Sitemap
Ad Blocker Detected

Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

Refresh