枚举值和原始值

43 阅读2分钟

enum Season: String { case spring = "春天" case summer = "夏天" case autumn = "秋天" case winter = "冬天" }

let season = Season(rawValue: "秋天")

print(season) // 输出:Optional(Season.autumn)

这个有点难理解

好的,我们进入 第四步:原始值(Raw Values)

第四步:原始值(Raw Values)

在 Swift 中,枚举不仅支持关联值,还可以使用 原始值(Raw Values)。原始值是一个固定的值,可以是字符串、整数或浮点数等。原始值的好处在于,枚举的每个成员都有一个默认值,可以方便地与外部的常量进行比较或者转化。

1. 定义原始值的枚举:

在枚举定义中,你可以为每个 case 指定一个原始值。常见的类型有字符串(String)或整数(Int)。

示例 1:整数原始值

enum Day: Int {
    case sunday = 1
    case monday
    case tuesday
    case wednesday
    case thursday
    case friday
    case saturday
}

这里,sunday 的原始值是 1,monday 是 2,以此类推。你可以不为后续的成员指定原始值,Swift 会自动递增。

示例 2:字符串原始值

enum Season: String {
    case spring = "春天"
    case summer = "夏天"
    case autumn = "秋天"
    case winter = "冬天"
}

这里,spring 的原始值是 "春天",summer 是 "夏天",以此类推。

2. 使用原始值:

你可以通过 rawValue 来访问枚举的原始值,并且可以通过原始值来初始化枚举值。

let day: Day = .monday
print(day.rawValue)  // 输出:2

let season = Season(rawValue: "秋天")
print(season)  // 输出:Optional(Season.autumn)
  • rawValue 属性可以访问当前枚举成员的原始值。

  • 你可以使用原始值来初始化枚举值,但由于可能没有匹配的成员,返回值是一个 可选类型(Optional)。

✅ 作业(第4步):

  1. 创建一个 enum 类型 Fruit,它的成员有 apple、banana 和 cherry,分别对应原始值 "苹果"、"香蕉" 和 "樱桃"。

  2. 然后,打印出 Fruit 枚举中 banana 的原始值。

  3. 使用原始值 "樱桃" 来初始化一个 Fruit 实例,并打印出来。

完成后把代码发给我,我来帮你检查!😄