web-dev-qa-db-ja.com

ObjectMapperを使用してenumのrawValueを変数に割り当てる方法は?

こんにちは、私は Object Mapper をAlamofireと一緒にSwiftで使用しています。列挙型の生の値を実際の列挙型にマップしようとしています。

これが私の列挙型であり、関数mappingで使用しようとしているコードもあります。 EnumTransformの引数として何を渡すか、またはコードを変更する方法を教えてください。値を文字列として読み取り、LevelType(rawValue:stringValue)を使用できることを知っています。

前もって感謝します。

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

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

引数を渡す必要はまったくありません。列挙型をジェネリック引数として指定するだけで、ObjectMapperがすべての列挙初期化手順を処理します。

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

EnumがString型であると宣言されている限り、まっすぐなマップを実行するだけでうまくいきました。

typeEnum <- map["type"]
2
Swindler