我有一个用 Swift 实现的 iOS 应用程序。我正在使用 Alamofire,因此我有一个名为“NetworkRechabilityManager.swift”的文件。我已经浏览了很多在线教程并且它可以正常工作。
我的应用程序中有一个页面,其数据是从 API 获取的。在检查“HomePageViewController”文件中响应的状态代码时,我计划对“响应 == nil”应用网络可达性。
if response == nil {
let request = NSMutableURLRequest(url: ("www.xyz.com/api/v1/home_page")!)
let tempRequest1 = Requests(request: request,requestID: home_page_key)
HelperClass.requestDict.updateValue(tempRequest1!, forKey: home_page_key)
HelperClass.listner()
HelperClass.manager?.startListening()
}
在我的 HelperClass 中,我有:
static var requestDict: [String: Requests] = [String: Requests]()
{
didSet
{
if(requestDict.count <= 0 && shouldStopListening())
{
HelperClass.manager?.stopListening()
}
else
{
HelperClass.manager?.startListening()
}
HelperClass.saveRequests()
}
}
static func listner()
{
if(shouldStopListening())
{
return
}
HelperClass.manager?.listener = { status in
if(HelperClass.manager?.isReachable ?? false)
{
if(shouldStopListening())
{
return
}
execRequests()
}
}
}
在“HomePageViewController”文件中,响应值为 200,
if response == 200 { // performing required actions and
HelperClass.requestDict.removeValue(forKey: home_page_key)
}
它似乎不起作用,任何人都可以举一个实现 Alamofire 的例子并进行解释。
最佳答案
你可以这样使用
import Foundation
import Alamofire
class ConnectivityManager {
class var isConnectedToInternet:Bool {
return NetworkReachabilityManager()!.isReachable
}
}
像这样使用它
if !ConnectivityManager.isConnectedToInternet {
print("not connected")
return
}
// continue your task
关于ios - 如何在应用程序中使用Alamofire的NetworkRechabilityManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50209846/