我创建了一个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)
}
我怎样才能做到这一点?
答案 0 :(得分:2)
如果您尝试做的是在同一行上有两个案例,您可以这样做:
if case .failure(let error) = result, case .invalidQuery(let message) = error {
print(message)
}