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()
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.