Swift的枚举法(附实例)

114 阅读1分钟

本教程属于Swift系列

枚举是一种将一组不同的选项,在一个共同的名称下分组的方法。

例子。

enum Animal {
    case dog
    case cat
    case mouse
    case horse
}

这个Animal 枚举现在是一个类型

一个类型,其值只能是列出的情况之一。

如果你定义了一个类型为Animal 的变量。

var animal: Animal

你以后可以用这种语法来决定给它分配哪个值。

var animal: Animal
animal = .dog

我们可以在开关等控制结构中使用枚举。

enum Animal {
    case dog
    case cat
    case mouse
    case horse
}

let animal = Animal.dog

switch animal {
case .dog: print("dog")
case .cat: print("cat")
default: print("another animal")
}

枚举的值可以是字符串、字符或数字。

你也可以在单行上定义一个枚举。

enum Animal {
    case dog, cat, mouse, horse
}

而且你还可以在枚举中加入类型声明,每一种情况都有一个该类型的值被分配。

enum Animal: Int {
    case dog = 1
    case cat = 2
    case mouse = 3
    case horse = 4
}

一旦你有了一个变量,你就可以用它的rawValue 属性得到这个值。

enum Animal: Int {
    case dog = 1
    case cat = 2
    case mouse = 3
    case horse = 4
}

var animal: Animal
animal = .dog

animal.rawValue //1

枚举是一种价值类型。这意味着它们在传递给函数时被复制,或从函数返回时被复制。而当我们把一个指向枚举的变量分配给另一个变量时。