Alamofire 4:检测无网络连接

时间:2016-12-23 05:51:54

标签: ios swift3 alamofire

我能够发现Alamofire 3是否没有网络连接,因为如果没有WiFi,它会进入guard线。

Alamofire.request(.GET, url)
    .responseJSON { response in
        guard let object = response.result.value else {
            // no response <<<<<<<<<<<<<<<<<<<<<<<<<<
            return
        }
        let json = JSON(object)
        ...
        ...
}

,其中url是一个字符串。以下代码适用于Alamofire 4.即使应用程序未检测到网络连接,也不会输入guard行。

Alamofire.request(url).responseJSON { response in
    guard let object = response.result.value else {
        // It doesn't enter here.
        return
    }
    let json = JSON(object)
    ...
    ...
}

我可以使用SystemConfiguration框架编写简单的WiFi连接检测功能。但我怎么能让Alamofire 4检测出来呢?顺便说一句,在用[swift] [alamofire]进行搜索之后,我已经阅读了一些主题。

感谢。

1 个答案:

答案 0 :(得分:0)

Alamofire具有可访问性,可以检测网络状况,在您的情况下,只需检查response.result.error而不是检查结果值,如果没有连接或任何其他错误,那么它将不会是