如何使用ObjectMapper将枚举的rawValue赋值给变量?

时间:2016-01-05 13:23:32

标签: swift alamofire objectmapper

您好我在Swift中使用Object Mapper和Alamofire,我正在尝试将枚举原始值映射到真实的Enum。

这是我的枚举以及我尝试在函数映射中使用的代码。你能帮我解决一下EnumTransform的参数或如何修改代码吗?我知道我可以将值读作字符串并使用LevelType(rawValue:stringValue)。

提前致谢。

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

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

2 个答案:

答案 0 :(得分:54)

您根本不必传递参数。您所要做的就是将枚举类型指定为泛型参数,ObjectMapper将负责所有枚举初始化过程。

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

答案 1 :(得分:2)

只要声明枚举类型为String,对我来说,做一个直线映射就可以了。

typeEnum <- map["type"]