我创建了一个 Result
枚举来传播 REST API
调用的结果。
enum Result {
case success([AnyObject])
case failure(APIError)
}
我还有一个 Error
枚举来处理错误
enum APIError: Error {
case requestFailed(String)
case invalidData(String)
case invalidQuery(String)
case invalidURL(String)
}
我在完成闭包中发送错误
completion(.failure(.invalidURL("Invalid URL")))
如何在 if case
场景中访问这个字符串?
我正在尝试做类似的事情
if case .failure(let res) = result /*, case res.invalidQuery(let invalid) */ {
print(res)
}
我怎样才能做到这一点?
最佳答案
如果你想做的是在同一行有两个案例,你可以这样做:
if case .failure(let error) = result, case .invalidQuery(let message) = error {
print(message)
}
关于swift - 提取错误枚举案例的原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616453/