Enumerações swift
Video: 041 Swift Enumerações
Quando você adiciona recursos de Swift, enumerações se tornar muito mais classe-like. Eles já não são apenas coleções de constantes porque eles agora podem ter suas próprias propriedades e funções.
Aqui está o que a enumeração Swift pode olhar como:
enum Parkplace: Int {case parque, piscina, bares, pista}
Com um pouco de respacing, no entanto, isso pode parecer muito com um clássico C enum:
enum Parkplace: Int {case pista parkcase poolcase barscase}
Você pode atribuir um valor de enumeração de uma variável em Swift usando código como este:
deixe myPlace = ParkPlace.park
Se você incluir esta atribuição e tente imprimir meu lugar em um playground, você verá o valor “Enum valor” à direita.
Video: Linguagem Swift
Referem-se à figura para exemplos das contagens em parques utilizando variações sobre o código mostrado.
Pode revelar o valor subjacente de uma enumeração usando o intrínseca RawValue, como em esta linha de código:
println (myPlace.rawValue)
O resultado será “0”, porque, por padrão, valores brutos de enumeração começam em zero e o resultado de uma println função é uma cadeia (daí as aspas).
Você pode atribuir os seus próprios valores brutos a enumeração dos casos. Por exemplo, você poderia arranjar a declaração como esta:
enum Parkplace: Int {case parkcase piscina = pista 25case barscase}
Aqui, .park ainda será de 0 por padrão. Contudo, .piscina é agora definido como 25, e a sequcia continua a partir daí. Assim, o seguinte trecho de código irá imprimir 26. Se você tivesse que definir bares a 99, o controle se tornaria automaticamente 100.
deixar myPlace = ParkPlace.barsprintln (myPlace.rawValue)
É comum o uso de cordas em uma enumeração. Aqui está um exemplo em que os casos de enumeração ter cordas atribuído a eles.
enum Lugar: String {casepark = "parque", Piscina = "piscina", Barras = "bares de escalada", Track1 = "pista de corrida", Track2 = "pista de caminhada"}
Nota neste exemplo que há uma distinção entre os elementos de caso, que não são cotados cordas e os valores associados que são sequências. Note também que em seu código os elementos de casos começam com um período em que você usá-los. O período não é usado na declaração.
.pista imprimiria 27.