Pouvez-vous étendre un enum?

Je utiliser les énumérations pour stocker les valeurs de chaîne comme ceci:

    enum Animals: String {
        case descCat = "I has attitude"
        case descDog = "how can I help"
        case descGator = "I will eat you"
        var s: String {
            get {
                return self.rawValue as String
            }
        }
    }

Puis-je y accéder comme ceci:

print("Dogs be like:" + Animals.descDog.s)

Ma question est puis-je prolonger les énumérations, comme toute autre structure ou d'un objet donc je n'ai pas pour ajouter l' var s: String {} propriété à chaque enum?

  • self.rawValue est déjà de type String dans votre enum. Pourquoi êtes-vous un moulage?
  • Qu'entendez-vous par "ajouter le var s: String{} propriété à chaque enum?" Voulez-vous dire "tous les sorte de enum?" Vous ne pouvez pas le faire avec des structures ou des objets. Voulez-vous dire quelque chose d'autre?
  • Peut-être que je n'ai pas besoin comme une Chaîne de caractères exprimés dans la s{} la propriété. Semble comme je l'ai fait à un certain point, mais ne semblent pas être en mesure de recréer maintenant.
  • - Je ajouter de la s {} la propriété régulièrement pour les énumérations, car il est plus court et plus propre que rawValue. Je n'ai pas besoin de l'ajouter à chaque type d'enum seulement ceux de type Chaîne de caractères.
InformationsquelleAutor MindSpiker | 2015-10-30