¿Cómo crear una variable global?

Tengo una variable global que necesita ser compartida entre mis ViewControllers.

En Objective-C, puedo definir una variable estática, pero no puedo encontrar una forma de definir una variable global en Swift.

¿Conoces una manera de hacerlo?

De la guía de progtwigción rápida

Las variables globales son variables que se definen fuera de cualquier función, método, cierre o contexto de tipo. Las constantes y variables globales siempre se calculan de forma perezosa

Puede definirlo en cualquier archivo y puede acceder a él en el module actual en cualquier lugar. Entonces puede definirlo en algún lugar del archivo fuera de cualquier ámbito. No hay necesidad de static y todas las variables globales se calculan de forma perezosa.

  var yourVariable = "someString" 

y puede acceder desde cualquier lugar en el módulo actual.

Sin embargo, debe evitarlo ya que las variables globales no son buenas para el estado de la aplicación y principalmente son motivo de errores.

Como se muestra en esta respuesta, en forma rápida puede encapsularlos en struct y puede acceder a cualquier parte. También puede definir variables estáticas o constantes en swift. Encapsular en struct

 struct MyVariables { static var yourVariable = "someString" } 

Puedes usar esta variable en cualquier clase o en cualquier lugar

 let string = MyVariables.yourVariable println("Global variable:\(string)") //Changing value of it MyVariables.yourVariable = "anotherString" 

Las variables globales que se definen fuera de cualquier método o cierre pueden restringirse mediante el uso de la palabra clave privada.

 import UIKit // MARK: Local Constants private let changeSegueId = "MasterToChange" private let bookSegueId = "MasterToBook"