Enumeraciones Swift

Al agregar características de Swift, enumeraciones vuelven mucho más clase # 8208-como. Ya no son sólo colecciones de constantes porque ahora pueden tener sus propias propiedades y funciones.

Esto es lo que una enumeración Swift puede ser:

enum Parkplace: Int {case parque, piscina, bares, pista}

Con un poco de respacing, sin embargo, esto puede parecerse mucho a un clásico C enum:

enum Parkplace: Int {case pista parkcase poolcase barscase}

Se puede asignar un valor de enumeración a una variable en Swift utilizando código como el siguiente:

dejar que myPlace = ParkPlace.park

Si se incluye esta asignación y luego intenta imprimir mi casa en un parque infantil, verá el valor " Valor Enum " a la derecha.

Consulte la figura para ver ejemplos de enumeraciones en parques infantiles utilizando variaciones en el código que se muestra.

imagen0.jpg

Puede revelar el valor subyacente de una enumeración utilizando la intrínseca rawValue, como en esta línea de código:

println (myPlace.rawValue)

El resultado será " 0 " porque por defecto, los valores de enumeración primas comienzan en cero y el resultado de un println la función es una cadena (de ahí las comillas).

Usted puede asignar sus propios valores de primas a la enumeración de los casos. Por ejemplo, se podría organizar la declaración como esta:

enum Parkplace: Int {piscina parkcase caso = pista 25case barscase}

Aquí, .park seguirá siendo 0 por defecto. Sin embargo, .piscina ahora se establece en 25, y la secuencia continúa desde allí. Por lo tanto, el siguiente fragmento de código imprimirá 26. Si se va a configurar barras a 99, la pista se convertiría automáticamente en 100.

dejar que myPlace = ParkPlace.barsprintln (myPlace.rawValue)

Es común el uso de cadenas en una enumeración. Este es un ejemplo en el que los casos de enumeración han cuerdas que se les asigna.

enum Lugar: String {casepark = "parque", piscina = "piscina", bares = "barras de escalada", pista1 = "pista de atletismo", pista2 = "pista caminando"}

Nota en este ejemplo que hay una distinción entre los elementos de casos, que no cotizan cuerdas y los valores asociados que son cadenas. Tenga en cuenta también que en su código de los elementos de casos se inicia con un período cuando los utiliza. El período no se utiliza en la declaración.

.pista imprimiría 27.