将字符串转换为枚举

时间:2017-11-09 01:23:51

标签: json swift enums swift4 codable

我从服务器获取数据,并以字符串形式买入或卖出。我使用swifyjson来解析json,如果它是sell,我想将它与OrderSide类型的变量相关联,如下所示。我该怎么做?我在enum中编写了一个函数,但我觉得有更好的方法可以做到这一点。将来,如果只有2个案例,我不希望每个案例都有一个if语句。如果还有其他什么可以做得更好,请告诉我。

enum OrderSide:String  {
    case buy = "buy"
    case sell = "sell"

    static func enumFrom(string:String) -> OrderSide? {
        if string == "buy" {
            return .buy
        } else if string == "sell" {
            return .sell
        } else {
            return nil
        }
    }
}

这是我用来解析JSON的代码。我从JSON获取一个字符串。

let orderSide = OrderType.enumFrom(string:swiftyJson["side"].stringValue)

0 个答案:

没有答案