Swift 面试题
目录

Swift 中如何设置枚举成员的原始值?

· 约 3 分钟读完 · 第 56 / 196 章

推荐答案

在 Swift 中,可以通过在枚举定义时指定原始值类型,并为每个枚举成员分配一个原始值。具体步骤如下:

  1. 在枚举定义时,指定原始值类型(如 Int、String 等)。
  2. 为每个枚举成员分配一个原始值。

例如:

在这个例子中,Direction 枚举的原始值类型为 Int,并为每个成员分配了一个整数值。

本题详细解读

1. 原始值类型

在 Swift 中,枚举可以有一个原始值类型,这个类型可以是 Int、String、Character 或其他实现了 RawRepresentable 协议的类型。原始值类型在枚举定义时指定。

2. 分配原始值

在枚举定义中,可以为每个枚举成员分配一个原始值。原始值必须是唯一的,并且类型必须与枚举的原始值类型一致。

例如,使用 String 作为原始值类型:

在这个例子中,CompassPoint 枚举的原始值类型为 String,并为每个成员分配了一个字符串值。

3. 访问原始值

可以通过枚举实例的 rawValue 属性来访问其原始值。例如:

4. 自动分配原始值

如果枚举的原始值类型是 Int 或 String,Swift 可以自动为枚举成员分配原始值。

  • 对于 Int 类型,默认从 0 开始递增。
  • 对于 String 类型,默认使用枚举成员的名称作为原始值。

例如:

在这个例子中,Planet 枚举的原始值类型为 Int,Swift 自动为每个成员分配了从 0 开始的整数值。

5. 原始值的初始化

可以通过原始值来初始化枚举实例。如果原始值对应的枚举成员存在,则返回该枚举实例;否则返回 nil。

例如:

在这个例子中,Planet(rawValue: 2) 返回了 Planet.earth 枚举实例。