Balbas Code

Enums must not contain stored propertiesの対処法

公開日: 2023-09-21 14:46:56
更新日: 2023-09-22 07:49:04

Enums must not contain stored propertiesというエラーについて


「Enums must not contain stored properties」というエラーは、Swift言語で列挙型(enum)内に格納プロパティ(stored property)を定義しようとしたときに発生する。


Swiftのenumは、他の言語のenumとは異なり、関連値(associated values)を持つことができますが、格納プロパティを持つことはできません。このエラーは、enumをクラスや構造体のように使用しようとした場合に発生する可能性があります。

エラーを引き起こす例:


enum Car {
var color: String // エラー: Enums must not contain stored properties
case sedan, suv, truck
}

 


このエラーを回避するためには、関連値を使用するか、enumから格納プロパティを取り除く必要がある。


関連値を使用する例:


enum Car {
case sedan(color: String)
case suv(color: String)
case truck(color: String)
}

let myCar = Car.sedan(color: "Red")


このように、関連値を使用して、enumの各ケースに関連する情報を持たせられます。