1. ホーム
  2. string

[解決済み] Swift: 列挙型の値を文字列に変換しますか?

2022-04-22 01:18:05

質問

次のような列挙がある。

enum Audience {
    case Public
    case Friends
    case Private
}

文字列を取得する方法 "Public" から audience 以下、定数?

let audience = Audience.Public

どのように解決するのですか?

Swiftのどのバージョンでこの機能が追加されたかは不明ですが、今現在( Swift 2.1 ) このコードだけが必要です。

enum Audience : String {
    case public
    case friends
    case private
}

let audience = Audience.public.rawValue // "public"

生値に文字列を用いる場合、各場合に応じた暗黙の値 は 事件名テキスト .

[...]

enum CompassPoint : String {
    case north, south, east, west
}

上記の例では、CompassPoint.southは暗黙のうちにraw値として "south "といった具合に。

列挙ケースの生の値へのアクセスは、その rawValue プロパティを使用します。

let sunsetDirection = CompassPoint.west.rawValue
// sunsetDirection is "west"

出典