当前位置: 首页 > 面试题库 >

如何在Alamofire中使用NetworkReachabilityManager

谭煜
2023-03-14
问题内容

我想要类似于AFNetworkingSwift中带有Alamofire NetworkReachabilityManager的Objective-
C的功能:

//Reachability detection
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    switch (status) {
        case AFNetworkReachabilityStatusReachableViaWWAN: {
            [self LoadNoInternetView:NO];
            break;
        }
        case AFNetworkReachabilityStatusReachableViaWiFi: {
            [self LoadNoInternetView:NO];
            break;
        }
        case AFNetworkReachabilityStatusNotReachable: {
            break;
        }
        default: {
            break;
        }
    }
}];

我目前正在使用侦听器来了解网络状态的变化

let net = NetworkReachabilityManager()
net?.startListening()

有人可以描述如何支持这些用例吗?


问题答案:

我自己找到了答案,即通过如下所述只写一个带有闭包的侦听器:

let net = NetworkReachabilityManager()

net?.listener = { status in
    if net?.isReachable ?? false {

    switch status {

    case .reachable(.ethernetOrWiFi):
        print("The network is reachable over the WiFi connection")

    case .reachable(.wwan):
        print("The network is reachable over the WWAN connection")

    case .notReachable:
        print("The network is not reachable")

    case .unknown :
        print("It is unknown whether the network is reachable")

    }
}

net?.startListening()


 类似资料:
  • 问题内容: 当我使用Alamofire两次发送GET请求时,我得到的响应是相同的,但是我期望得到不同的响应。我想知道这是否是由于缓存造成的,如果是这样,我想知道如何禁用它。 问题答案: 迅捷3,alamofire 4 我的解决方案是: 为Alamofire创建扩展: 并使用它:

  • 我尝试用Alamofire上传数据 问题是:若我尝试从项目上传图像,它工作正常,但若我尝试上传zip目录,我得到了错误和超时异常 这是我的代码,它产生超时异常 这是一段运行良好的代码 我试图将Data()传递给我还试图传递对zip-dit的引用以上传请求,我还尝试了

  • 我正在用Swift开发一个iPhone应用程序。我正在使用Alamofire框架来处理http请求。我将用于POST,GET等,如下所示: 我使用将图像上载到服务器: 谁能帮我解决这个问题? 谢谢!:)

  • 问题内容: 我正在尝试使用进行同步请求。我查看了Stackoverflow并发现了这个问题:使异步alamofire请求成为sync 我看到接受的答案用于使请求同步,但是我无法使其正常工作。这是我的简化代码: 有了这段代码,我在尝试制作时会出错。我收到的错误如下: 无法调用非功能类型“布尔”的值 我尝试使用许多使用完成的示例来同步获取值(因为我需要先检索数据才能将其显示在表上,并同时获取该表的行数

  • 问题内容: 对不起,我的英语不好 :) 我在iOS应用程序的Swift中通过Alamofire解析JSON响应时遇到问题。我编写了一个函数来返回JSON响应字符串。请求和响应处理我做Alamofire和JSON处理我做SwiftyJSON。首先,我声明一个名为 jsonString的变量 ,其值为 test 。然后,我向REST服务发出请求,并通过单击按钮获得JSON响应。我想使用函数 ping(

  • 我正在与来自不同项目的不同人员在线工作,他们负责后端API webservice。通常我在发送和接收JSON方面没有问题,但这次,我似乎无法正确地将JSON发送到服务器。 通常我使用Alamofire来接收和发送JSON消息,通常的调用如下: 但这一次,我得到了后端程序员要求我使用OAuthV2的项目。假设我已经开发了一个函数,它已经负责获取访问令牌字符串。该函数现在变成如下所示: 但结果不是40