gpt4 book ai didi

ios - 如何在 alamofire 中检查互联网连接?

转载 作者:IT王子 更新时间:2023-10-29 05:10:25 42 4
gpt4 key购买 nike

我正在使用下面的代码在服务器中发出 HTTP 请求。现在我想知道它是否连接到互联网。下面是我的代码

  let request = Alamofire.request(completeURL(domainName: path), method: method, parameters: parameters, encoding: encoding.value, headers: headers)
.responseJSON {


let resstr = NSString(data: $0.data!, encoding: String.Encoding.utf8.rawValue)
print("error is \(resstr)")


if $0.result.isFailure {
self.failure("Network")
print("API FAILED 4")
return
}
guard let result = $0.result.value else {
self.unKnownError()
self.failure("")
print("API FAILED 3")

return
}
self.handleSuccess(JSON(result))
}

最佳答案

对于 swift 5 和 Alamofire 5.4.4,我创建了一个名为 Connectivity 的 swift 类。使用 Alamofire 中的 NetworkReachabilityManager 类,并根据需要配置 isConnectedToInternet() 方法。

import Foundation
import Alamofire

class Connectivity {
class func isConnectedToInternet() -> Bool {
return NetworkReachabilityManager()?.isReachable ?? false
}
}

用法:

if Connectivity.isConnectedToInternet() {
print("Yes! internet is available.")
// do some tasks..
}

编辑:由于 swift 鼓励计算属性,您可以像这样更改上述函数:

import Foundation
import Alamofire
class Connectivity {
class var isConnectedToInternet:Bool {
return NetworkReachabilityManager()?.isReachable ?? false
}
}

并像这样使用它:

if Connectivity.isConnectedToInternet {
print("Yes! internet is available.")
// do some tasks..
}

关于ios - 如何在 alamofire 中检查互联网连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41327325/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com