Comment créer une variable globale?
j'ai une variable globale qui doit être partagée entre mon ViewControllers.
dans Objectif-C, je peux définir une variable statique, mais je ne trouve pas de moyen de définir une variable globale dans Swift.
connaissez-vous un moyen de le faire?
2 réponses
de la programmation swift guide
les variables globales sont des variables qui sont définies en dehors de tout fonction, méthode, fermeture ou contexte de type. Constantes globales et les variables sont toujours calculées paresseusement
, Vous pouvez le définir dans un fichier et peuvent y accéder dans le courant module
n'importe où.
Ainsi, vous pouvez définir quelque part dans le fichier en dehors de toute portée. Il n'est pas nécessaire pour static
et toutes les variables globales sont calculées par lazily.
var yourVariable = "someString"
et vous pouvez accéder à partir de n'importe où dans le module actuel.
cependant, vous devez éviter que les variables globales ne sont pas bonnes pour l'état de l'application et principalement en raison de bogues.
comme indiqué dans ce réponse
Dans swift, vous pouvez les encapsuler dans struct
et y accéder n'importe où.
Vous pouvez définir des variables statiques ou constantes swift aussi. Encapsulé dans struct
struct MyVariables {
static var yourVariable = "someString"
}
vous pouvez utiliser cette variable dans n'importe quelle classe ou n'importe où
let string = MyVariables.yourVariable
println("Global variable:\(string)")
//Changing value of it
MyVariables.yourVariable = "anotherString"
les variables globales qui sont définies en dehors de toute méthode ou fermeture peuvent être limitées par l'utilisation du mot-clé privé.
import UIKit
// MARK: Local Constants
private let changeSegueId = "MasterToChange"
private let bookSegueId = "MasterToBook"