Swift 中枚举成员的原始值 (Raw Value) 是什么?

推荐答案

在 Swift 中,枚举成员的原始值(Raw Value)是为枚举成员预先分配的一个默认值。原始值可以是字符串、字符、整数或浮点数类型。每个枚举成员的原始值在定义枚举时被指定,并且在枚举的整个生命周期中保持不变。

在这个例子中,Direction 枚举的每个成员都有一个 String 类型的原始值。例如,Direction.north 的原始值是 "North"

本题详细解读

原始值的定义

原始值是在定义枚举时为每个成员指定的固定值。原始值可以是以下类型之一:

  • 整数(Int
  • 浮点数(FloatDouble
  • 字符串(String
  • 字符(Character

原始值在枚举定义时被指定,并且不能更改。

原始值的访问

可以通过枚举成员的 rawValue 属性来访问其原始值:

原始值的自动分配

如果枚举的原始值类型是整数或字符串,Swift 可以自动为枚举成员分配原始值。

  • 整数类型:如果没有显式指定原始值,Swift 会从 0 开始自动递增分配原始值。

  • 字符串类型:如果没有显式指定原始值,Swift 会使用枚举成员的名称作为原始值。

原始值的初始化

可以通过原始值来初始化枚举成员。如果提供的原始值匹配某个枚举成员的原始值,则返回对应的枚举成员;否则返回 nil

原始值与关联值的区别

  • 原始值:是枚举成员的一个固定值,定义时指定,不能更改。
  • 关联值:是枚举成员的一个可变值,可以在创建枚举实例时指定,并且每个实例可以有不同的关联值。

在这个例子中,Barcode 枚举的成员 upcqrCode 有关联值,而不是原始值。

纠错
反馈

纠错反馈