suzuki sport programación precio lenguaje apple swift

sport - swift apple



Cómo obtener todos los valores de una enumeración en swift (1)

No sé si hay un método para hacer eso. Es una muy buena pregunta, espero que alguien encuentre otra forma genérica que la mía. De todos modos, he hecho algo que hace el truco:

Aquí la enumeración:

// SuitCount is the last one, so the total of elements (used) is SuitCount-1 enum Suit: Int { case Spades, Hearts, Diamonds, Clubs, SuitCount }

La función que devuelve los valores:

func getValueFromSuitAtIndex(#indexOfElement: Int) -> String { var value = "" switch indexOfElement { case 0: value = "Spades" case 1: value = "Hearts" case 2: value = "Diamonds" case 3: value = "Clubs" default: value = "" } return value }

Y en otra función, donde quieras:

var suitElements = String[]() for index in 0...Suit.SuitCount.toRaw()-1 { suitElements.append(self.getValueFromSuitAtIndex(indexOfElement: index)) } // suitElements printed is: [Spades, Hearts, Diamonds, Clubs] println(suitElements)

No estoy seguro de que sea lo que quieres, pero espero que te ayude un poco.

EDITAR 1:

Otra solución, mejor: https://stackoverflow.com/a/24137319/2061450

Esta pregunta ya tiene una respuesta aquí:

¿Hay una manera de obtener todos los valores de una enumeración en una matriz?

Digamos que tengo el siguiente código:

enum Suit { case Spades, Hearts, Diamonds, Clubs }

¿Hay un método para obtener la siguiente matriz?

[Spades, Hearts, Diamonds, Clubs]