如何在Swift中以简单的传统方式在文件之间共享变量?我知道访问者方法-
访问者示例
SomeOtherClass.getMyVar()
但我只想找
所需用途
myVar
上下文
这相当于在C中的工作方式,使用头文件&进口这可能吗?
在Swift中不需要导入某些内容。
您有两个选项(都在任何类之外声明):
-
一个全局变量
let kNAME_KEY = "name" let kAGE_KEY = "age
用调用
let name = kNAME_KEY
-
嵌入结构中的静态变量
struct Key { static let Name = "name" static let Age = "age" }
用调用
let name = Key.Name
Swift的设计强烈推荐使用结构的方式。
我不推荐它,但要回答您的问题,您可以执行以下操作:
class Foo {
class var Test: String {
return "MyString"
}
}
class Bar {
func someFunc(){
print(Foo.Test)
}
}
在那之前,我相信会有人来举更好的例子。。给你:)
katleta3000是正确的。作为一个"传统"的C开发人员,很难相信,但这是正确的。只需在任何其他范围之外的文件中定义一个var(例如在类中),就可以神奇地在任意位置访问它。
示例
-
"var someVar=1"在ViewController.Swift的第11行,在类ViewController:UIViewController的第13行上方
-
现在你可以在项目中的任何文件中使用someVar,例如在AppDelegate中使用。swift是很好的
(上下文)作为一个传统主义者,我内心为此哭泣。。。
我在Swift项目中做了什么1:新建Swift文件2:在其中创建一个结构和静态常量。3:只需使用YourStructName.baseURL
注意:创建初始化后只需很少的时间,因此它将在2-5秒后显示在其他视图控制器中。
import Foundation
struct YourStructName {
static let MerchantID = "XXX"
static let MerchantUsername = "XXXXX"
static let ImageBaseURL = "XXXXXXX"
static let baseURL = "XXXXXXX"
}