ios - 如何在应用程序中使用Alamofire的NetworkRechabilityManager?

标签 ios swift alamofire

我有一个用 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/

相关文章:

ios - 如何在 Swift 中重用字体?

swift - 如何在 SwiftUI TabView 中设置默认选项卡?

ios - Swift - JSON 写入中的顶级类型无效

swift - 迭代 API 的结果并知道它何时完成的最佳方法是什么?

arrays - 将响应 NSArray 转换为对象数组 swift3

swift - Alamofire:类型 'Request' 的值没有成员 responseImage?

ios - Xcode:如何更改通知中心的应用程序名称

ios - 使用带有 ADFS 的系统登录 iOS 应用程序

ios - iOS 7 上的 UIAlertView 不显示标题

ios - 如何知道 MKMapView visibleMapRect 是否包含坐标?