rawVauleのあるenumに対してextensionを生やす場合はRawRepresentable
に対してextensionを行えばOK
enumにメソッドを生やす
enum Animal: String {
case fox
}
extension RawRepresentable {
func printRawValue() {
print(rawValue)
}
}
Animal.fox.printRawValue() //fox
Stringのenumにメソッドを生やす
RawValueに型情報が入っているのでそれを見る
enum Animal: String {
case fox
}
extension RawRepresentable where Self.RawValue == String {
func printRawValue() {
print(rawValue)
}
}
Animal.fox.printRawValue()