[英]Swift - how to obtain enum case argument from enum variable?
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中获取消息变量?
使用可以使用:
if case .SimpleErrorMessage(message: let message) == error
通常您可以使用:
switch error {
case .SimpleErrorMessage(message: let message):
//Use the message
break
}
注意:在swift 4中,您的枚举大小写应为小写:SimpleErrorMessage-> simpleErrorMessage
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.