如何创build一个全局variables?
我有一个全局variables,需要在我的ViewControllers之间共享。
在Objective-C中,我可以定义一个静态variables,但是我找不到在Swift中定义一个全局variables的方法。
你知道一个办法吗?
从迅速的编程指南
全局variables是在任何函数,方法,闭包或types上下文之外定义的variables。全局常量和variables总是延迟计算
你可以定义任何文件,并可以在任何地方访问当前module
。 所以你可以在任何范围以外的文件中定义。不需要static
,所有的全局variables都是懒惰的计算。
var yourVariable = "someString"
你可以从当前模块的任何地方访问。
但是,你应该避免这种情况,因为全局variables对于应用程序状态并不好,主要是bug的原因。
正如在这个答案中所示,在swift中,你可以把它们封装在struct
并且可以在任何地方访问。 您也可以在swift中定义静态variables或常量。在struct
封装
struct MyVariables { static var yourVariable = "someString" }
你可以在任何类或任何地方使用这个variables
let string = MyVariables.yourVariable println("Global variable:\(string)") //Changing value of it MyVariables.yourVariable = "anotherString"
在任何方法或闭包之外定义的全局variables可以通过使用private关键字来限制作用域。
import UIKit // MARK: Local Constants private let changeSegueId = "MasterToChange" private let bookSegueId = "MasterToBook"