enums - the - Creando clase para definir constantes en swift
switch self swift (2)
En swift puede declarar una enumeración, variable o función fuera de cualquier clase o función y estará disponible en todas sus clases (globalmente) (sin la necesidad de importar un archivo específico).
Nota: Quiero lograr una funcionalidad similar en swift. ¿Dónde almacenar las constantes globales en una aplicación iOS?
Tengo dos clases: MasterViewController y DetailViewController
Quiero definir una enumeración (consulte la enumeración a continuación) y usar sus valores en ambas clases:
enum Planet: Int {
case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
Intenté definirlo en MasterViewController y usarlo en DetailViewController de esta manera:
let aPlanet = Planet.Earth
pero el compilador se queja :(
"Uso del identificador no resuelto del planeta"
Generalmente, en mi código c objetivo, solía tener un archivo constante global, que solía importar en el archivo app-prefix.pch, que lo hacía accesible a todos los archivos de mi proyecto, pero en este caso no tengo ni idea.
Si su enum se está definiendo en una clase como esta:
class MyClass {
enum Planet: Int {
// ...
}
}
Tienes que acceder a través de tu clase:
var aPlanet = MyClass.Planet.Earth
También desea utilizar la propiedad rawValue
. Necesitará eso para acceder al valor Int real:
var aPlanet = MyClass.Planet.Earth.rawValue