web-dev-qa-db-fra.com

Comment assigner rawValue de enum à variable avec ObjectMapper?

Bonjour, j'utilise Object Mapper avec Alamofire dans Swift et j'essaie de mapper la valeur brute d'énumération à l'énumération réelle).

Voici mon énumération ainsi que le code que j'essaie d'utiliser dans la cartographie des fonctions . Pouvez-vous m'aider s'il vous plaît quoi passer comme argument à EnumTransform ou comment modifier le code? Je sais que je peux lire la valeur sous forme de chaîne et utiliser LevelType (rawValue: stringValue).

Merci d'avance.

enum LevelType : String {
    case NEW = "NEW"
    case UPDATE = "UPDATE"
}

func mapping(map: Map) {
    typeEnum <- (map[“type”], EnumTransformable(???) )
}
29
Radim Halfar

Vous n'avez pas du tout à passer d'argument. Tout ce que vous avez à faire est de spécifier le type d'énumération comme argument générique et ObjectMapper se chargera de toutes les procédures d'initialisation d'énumération.

 typeEnum <- (map["type"],EnumTransform<LevelType>())
57
Zell B.

Faire une carte droite a bien fonctionné pour moi tant que mon énumération a été déclarée de type String.

typeEnum <- map["type"]
2
Swindler