一尘不染

如何创建全局变量?

swift

我有一个全局变量,需要在我的ViewController之间共享。

在Objective-C中,我可以定义静态变量,但是找不到在Swift中定义全局变量的方法。

您知道这样做的方法吗?


阅读 383

收藏
2020-07-07

共1个答案

一尘不染

来自官方的Swift编程指南

全局变量是在任何函数,方法,闭包或类型上下文之外定义的变量。全局常数和变量总是延迟计算的。

您可以在任何文件中定义它,也可以在module任何位置访问它。因此,您可以在任何范围之外的文件中的任何位置定义它。不需要static,所有全局变量都是延迟计算的。

 var yourVariable = "someString"

您可以从当前模块中的任何位置访问它。

但是,应避免这种情况,因为全局变量不利于应用程序状态,并且主要是错误的原因。

在Swift中,您可以将它们封装在其中struct并可以在任何地方访问。您也可以在Swift中定义静态变量或常量。封装在struct

struct MyVariables {
    static var yourVariable = "someString"
}

您可以在任何类或任何地方使用此变量

let string = MyVariables.yourVariable
println("Global variable:\(string)")

//Changing value of it
MyVariables.yourVariable = "anotherString"
2020-07-07