2016-01-05 7 views
21

こんにちは私はSwiftのAlamofireでObject Mapperを使用しています。私はenum生の値を実際のEnumにマップしようとしています。ObjectMapperでenumのrawValueを変数に割り当てる方法は?

ここに私の列挙型と、機能で使用しようとしているコードがあります。 EnumTransformの議論として何を渡すか、コードを修正する方法を教えてください。値を文字列として読み込み、LevelType(rawValue:stringValue)を使用することができます。

ありがとうございます。

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

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

NEW = "NEW"という大文字小文字を書く必要はありません。 "NEW"はデフォルトで値になります(ケース名と同じ)。 case NEW、UPDATE}同じです –

答えて

41

引数をまったく渡す必要はありません。 enum型を汎用引数として指定するだけで、ObjectMapperはすべてのenum初期化プロシージャを処理します。

typeEnum <- (map["type"],EnumTransform<LevelType>()) 
+0

ありがとうたくさん:-) –

+1

私はここで提案したのと同じことをしましたが、バイナリ演算子< - は文字列に適用できません、enumTranform ()) – anamika41

+1

enum型、var typeEnum:LevelTypeを宣言する必要があります。 – Megamind

関連する問題