创建用于在swift中定义常量的类

Dev*_*shi 18 enums constants swift

注意:我想在swift中实现类似的功能 - 在iOS应用程序中存储全局常量的位置?

我有两个类 - MasterViewController和DetailViewController

我想定义一个枚举(参见下面的枚举)并在两个类中使用它的值:

enum Planet: Int {
    case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
Run Code Online (Sandbox Code Playgroud)

我尝试在MasterViewController中定义它并在DetailViewController中使用它,如下所示:

let aPlanet = Planet.Earth
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨:(

"使用未解决的标识符Planet"

通常在我的目标c代码中我曾经有一个全局常量文件,我曾经在app-prefix.pch文件中导入它,这使得它可以访问我项目中的所有文件,但在这种情况下我无能为力.

dre*_*wag 26

如果你的枚举是在这样的类中定义的:

class MyClass {
    enum Planet: Int {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

你必须通过你的班级访问它:

var aPlanet = MyClass.Planet.Earth
Run Code Online (Sandbox Code Playgroud)

您还想使用该rawValue属性.您将需要它来访问实际的Int值:

var aPlanet = MyClass.Planet.Earth.rawValue
Run Code Online (Sandbox Code Playgroud)


Ato*_*mix 21

在swift中,您可以在任何类或函数之外声明枚举,变量或函数,它将在所有类中(全局)可用(无需导入特定文件).