ios - Swift - 如何从枚举变量获取枚举大小写参数?

标签 ios swift rx-swift

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变量?

最佳答案

使用可以使用:

如果 case .SimpleErrorMessage(message: let message) == error

通常你可以使用:

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

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

关于ios - Swift - 如何从枚举变量获取枚举大小写参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54417400/

相关文章:

ios - iOS 中视频文件和视频 "description"文件的存储文件夹 - Apple 指南

swift - RxSwift 通过 flatMaps 链传播一个值

swift - 在范围结束之前编译器隐式解包的可选 var 被销毁?

rx-swift - RX swift : Catch an error without emiting an element from the stream

ios - 检测表在 iOS 13 上被取消

ios - 如何在 phonegap 中使用 NSUserDefaults?

iphone - 在 phonegap 项目中停止 iframe 重定向/打开移动 safari

arrays - Swift - 动态结构数组

swift - 为什么 subscribe(subject) 返回 AnyCancellable 但 subscribe(subscriber) Void?

ios - 使用 swift,一旦给出用户登录信息,是否可以在后台打开一个 webview 以从网站获取数据?