31

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

这是我的枚举,也是我试图在函数映射中使用的代码。你能帮我把什么作为参数传递给 EnumTransform 或如何修改代码吗?我知道我可以将值读取为字符串并使用 LevelType(rawValue: stringValue)。

提前致谢。

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

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

2 回答 2

66

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

 typeEnum <- (map["type"],EnumTransform<LevelType>())
于 2016-01-05T15:07:46.063 回答
4

只要我的枚举被声明为字符串类型,只需做一个直接映射对我来说就很好。

typeEnum <- map["type"]
于 2018-10-17T15:37:02.977 回答