如何在Swift中共享文件之间的常量和变量

时间:2015-11-10 14:22:51

标签: xcode swift

如何以简单的传统方式在文件之间共享文件中的变量?我知道存取方法 -

访问者示例

   SomeOtherClass.getMyVar()

但我正在寻找

期望使用

    myVar

上下文

等同于在C中使用Header Files& #import ......这可能吗?

4 个答案:

答案 0 :(得分:1)

我不推荐它,但回答你的问题你可以做到以下几点:

class Foo {

    class var Test: String {
        return "MyString"
    }

}

class Bar {

    func someFunc(){
        print(Foo.Test)
    }

}

我确信有人会出现并提供更好的例子,直到那时......你走了:)

答案 1 :(得分:1)

在Swift中不需要导入内容。

您有两个选项(均在任何类之外声明):

  • 全局变量

    let kNAME_KEY = "name"
    let kAGE_KEY = "age
    

    调用
    let name = kNAME_KEY
    
  • 嵌入在struct

    中的静态变量
    struct Key {
     static let Name = "name"
     static let Age = "age"
    }
    

    调用
    let name = Key.Name
    

Swift的设计强烈推荐使用结构的方式。

答案 2 :(得分:1)

我在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"
        }

答案 3 :(得分:0)

katleta3000是正确的。很难相信作为“传统”的C-developer,但是正确的。只需在任何其他范围之外的文件中定义var(例如在类中),您就可以在任何地方神奇地访问它。

示例

    第11行的 ViewController.Swift 中的
  • “var someVar = 1”,位于'类ViewController的第13行上方:UIViewController {'

  • 现在您可以在项目中的任何文件中使用 someVar ,例如在 AppDelegate.swift 中使用

(语境)作为一个传统主义者,我在这里哭泣...