如何检查 alamofire 中的互联网连接?

2024-02-22

我正在使用下面的代码在服务器中发出 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 . Use NetworkReachabilityManager班级来自Alamofire and configure the isConnectedToInternet()方法根据您的需要。

import Foundation
import Alamofire

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

Usage:

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

EDIT:由于 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..
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 alamofire 中的互联网连接? 的相关文章

随机推荐

  • 员工 ID 自动生成,带前缀

    我很困惑我希望员工 ID 是自动生成的前缀格式 我知道这可能是在 sql server 中触发之前发生的 我正在关注帖子http www aspdotnet suresh com 2012 04 set custom auto genera
  • Environment.getExternalStorageDirectory() 在 API 级别 29 java 中已弃用

    在 android Java 上工作 最近将 SDK 更新到 API 级别 29 现在显示一条警告 指出 Environment getExternalStorageDirectory 在 API 级别 29 中已弃用 我的代码是 priv
  • 运算符()的部分特化

    我的一个类声明了一个模板化函数 template
  • 如何从可绘制文件夹上的图像获取路径并将其设置为图像视图、位图?

    我的可绘制文件夹中已经有一些来自 android 项目的图片 我创建了一些对象 代理 然后我需要设置imageView我将这张图片保存在数据库中 所以 我将图片另存为String photoPath Uri path1 Uri parse
  • 无法通过延迟绑定解析类

    some imports public class Menu final MenuMaker myClass GWT create MenuMaker class ERROR 我的 gwt xml
  • 在 Angular 5 中动态加载子组件

    我想以角度动态加载子组件 父组件将根据某些条件加载子组件 我们是否可以在父组件打字稿文件中定义子组件名称 并在 HTML 中使用字符串插值来加载组件 例如在父组件打字稿中 componentName someCondition compon
  • AngularJS 在 div 中预先输入搜索结果

    我使用 Bootstrap 的 typeahead 进行文本输入 该输入还有一个按钮可以弹出流行的结果弹出窗口 我想要预输入的功能 只是结果列表将显示在不同的 div 中 在弹出窗口内而不是在文本输入下 有没有办法为预先输入搜索结果设置 容
  • generic.GenericForeignKey() 字段可以为 Null 吗?

    我正在创建一个对象 该对象跟踪有关其他所谓的创建 更新和删除的更改 更新 UUIDSyncable数据库中的对象 这涉及任何扩展的对象UUIDSyncable班级的save and delete 方法被重写 从而创建一个新的Update记录
  • Android 中订阅 BLE 指示的示例

    我已连接到蓝牙设备 我能够使用读取特征 mGatt readCharacteristic getMiliService getCharacteristic uuid 但我无法注册某个特征的指示 我尝试过的 boolean flag1 m G
  • 如何在PythonMagick中处理多页图像?

    我想将一些多页 tiff 或 pdf 文件转换为单独的 png 图像 从命令行 使用 ImageMagick 我只是这样做 convert multi page pdf file out png 我将所有页面作为单独的图像 file out
  • 逐行读取并获取上一行和下一行

    我正在尝试逐行读取文件并获取当前行 上一行和下一行 例如 line1 line2 line3 line4 我想要的是 None line1 line2 line1 line2 line3 line2 line3 line4 这是我的尝试 p
  • 链接器符号 __TMC_END__ 和 __TMC_LIST__ 的用途是什么?

    我问过这个问题 https stackoverflow com questions 17605034 linker script relocate section并偶然发现 TMC END 似乎是由链接器生成的符号 我不知道它的目的是什么
  • /usr/bin/env: ln: 符号链接级别太多

    这个问题快要了我的命 我觉得我已经尝试了一切 首先 问题是在升级到 Capistrano 3 时开始出现的 Capistrano 现在在部署时在每个命令之前使用 usr bin env 以确保环境设置正确 当 Capistrano 创建指向
  • 在 Spring 测试中使用 @Autowired NoSuchBeanDefinitionException

    我有 spring mvc security 项目 我正在尝试从 JavaConfig 为其中一个控制器创建 junit 测试 但是当我使用 Autowired我得到异常 Caused by org springframework bean
  • 在 C# 测试装置中从 Nunit3 获取参数

    我使用 Nunit3 版本中提供的 params 参数来传递多个参数 但是 我无法使用 C 测试装置获取它们 我已经搜索过但无法得到正确的结果 有人可以向我提供有关如何在 C 中获取这些 param 参数的指示吗 任何帮助将不胜感激 提前致
  • 在 Premesis 或 Bluemix 等 PaaS 上使用 XPage 进行 DevOps

    使用 XPage 实现 DevOps 的最佳方式是什么 多个开发人员作为一个团队工作 本地服务器 Dev QA Prod 我们可以复制到 Bluemix 吗 源代码控制自动化测试 UI 应用程序 使用测试框架对业务逻辑进行单元测试 自动化部
  • 没有 Eclipse 的 JDT?

    前段时间我写了一个 Eclipse 插件 它利用 JDT 来做一些解析 现在我正在考虑制作这个应用程序的命令行版本 当然 我希望重用解析代码 因此我需要让 JDT 在 Eclipse 之外工作 有什么方法可以实现这一点 也许构建一些包装器等
  • 如何将

    我有一个 div 我想旋转 90 度 div div 我怎样才能做到这一点 你需要 CSS 来实现这一点 例如 container 2 webkit transform rotate 90deg moz transform rotate 9
  • 根据方位角和距离计算纬度和经度

    我很难理解三角学 我试图从起始纬度 对数 距离和方位推断出目的地纬度和经度 幸运的是 我发现了一个很棒的网站 它准确地描述了我需要的功能 http www movable type co uk scripts latlong html ht
  • 如何检查 alamofire 中的互联网连接?

    我正在使用下面的代码在服务器中发出 HTTP 请求 现在我想知道它是否连接到互联网 下面是我的代码 let request Alamofire request completeURL domainName path method metho