【问题标题】:Swift - how to obtain enum case argument from enum variable?Swift - 如何从枚举变量中获取枚举 case 参数?
【发布时间】:2019-01-29 09:11:51
【问题描述】:
enum ApiError: Swift.Error
{
    case SimpleErrorMessage(message: String)
}


// Observable ...
.map({ (response, json) -> Bool in
            if(response.statusCode == 200)
            {
                return true
            }
            else if(response.statusCode == 404)
            {
                return false
            }
            else
            {
                throw ApiError.SimpleErrorMessage(message: "test")
            }
        })

// Observable
.subscribe(onError: { [weak self] (error) in
                // todo notify somehow?
                guard let err = error as? ApiError else { return }
                if case .SimpleErrorMessage == error
                {
                }
        })

如何在onError中获取message变量?

【问题讨论】:

    标签: ios swift rx-swift


    【解决方案1】:

    使用可以使用:

    if case .SimpleErrorMessage(message: let message) == error

    一般你可以使用:

    switch error {
        case .SimpleErrorMessage(message: let message):
            //Use the message
           break
        }
    

    注意:在 swift 4 中,您的枚举大小写应该小写:SimpleErrorMessage -> simpleErrorMessage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多