如何使用Swift中的switch case来描述Alamofire的错误?

时间:2018-02-10 06:13:48

标签: ios swift alamofire

我想向用户提供有关向服务器发送请求时发生的错误的信息。我使用Alamofire。

代码如下:

postgres://myname:password@localhost:5432/five_three_one_development?sslmode=disable

我试过但我无法切换错误。我想在上面的代码中放置类似的东西:

Alamofire.request(url, method: methodUsed, parameters: parameters).responseData { (response) in
    switch response.result {
    case .failure(let error) : 
        // I want to the describe the error in here
    case .success(let value) :
        let json = JSON(value)
        completion(.success(json))
    }
}

在某些情况下,我想告知用户对警报采取某些操作,但我不知道可用的案例是什么,我不知道必须使用的语法。

2 个答案:

答案 0 :(得分:4)

根据Jayesh,Thanki说您可以使用状态代码识别服务器错误,对于互联网连接,您可以使用Alamofire的 NetworkReachabilityManager 。在viewDidLoad()中编写以下代码:

<a class="nav-item nav-link"><%= link_to 'Google', '/auth/google' %></a>

答案 1 :(得分:0)

您可以使用状态代码识别错误。 response.response.statusCode。 有很多HTTP状态代码并使用它们,您可以通知最终用户。

以下是状态代码列表的wikipedia链接。

例如,状态代码是200 OK,然后是成功的HTTP请求 和状态代码是500 Internal Server Error然后它的服务器相关错误。

如果错误可用,您还可以使用response.result.error.localizedDescription提供错误说明。