我有一个全局变量,需要在我的ViewController之间共享。
在Objective-C中,我可以定义静态变量,但是找不到在Swift中定义全局变量的方法。
您知道这样做的方法吗?
来自官方的Swift编程指南:
全局变量是在任何函数,方法,闭包或类型上下文之外定义的变量。全局常数和变量总是延迟计算的。
您可以在任何文件中定义它,也可以在module任何位置访问它。因此,您可以在任何范围之外的文件中的任何位置定义它。不需要static,所有全局变量都是延迟计算的。
module
static
var yourVariable = "someString"
您可以从当前模块中的任何位置访问它。
但是,应避免这种情况,因为全局变量不利于应用程序状态,并且主要是错误的原因。
在Swift中,您可以将它们封装在其中struct并可以在任何地方访问。您也可以在Swift中定义静态变量或常量。封装在struct
struct
struct MyVariables { static var yourVariable = "someString" }
您可以在任何类或任何地方使用此变量
let string = MyVariables.yourVariable println("Global variable:\(string)") //Changing value of it MyVariables.yourVariable = "anotherString"