如何在 Alamofire 中使用 NetworkReachabilityManager

2024-03-10

我想要类似的功能AFNetworking在 Objective-C 中,在 Swift 中使用 Alamofire NetworkReachabilityManager:

//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()

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


网络管理类

class NetworkManager {

//shared instance
static let shared = NetworkManager()

let reachabilityManager = Alamofire.NetworkReachabilityManager(host: "www.google.com")

func startNetworkReachabilityObserver() {

    reachabilityManager?.listener = { status in
        switch status {

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

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

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

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

            }
        }

        // start listening
        reachabilityManager?.startListening()
   }
}

启动网络可达性观察器

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        // add network reachability observer on app start
        NetworkManager.shared.startNetworkReachabilityObserver()

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

如何在 Alamofire 中使用 NetworkReachabilityManager 的相关文章

  • 我如何用 javascript/jquery 进行两指拖动?

    我正在尝试创建当有两个手指放在 div 上时拖动 div 的功能 我已将 div 绑定到 touchstart 和 touchmove 事件 我只是不确定如何编写这些函数 就像是if event originalEvent targetTo
  • Swift 中的 quitFirstResponder

    我怎样才能用Apple的新语言实现它 Objective C 代码 void touchesBegan NSSet touches withEvent UIEvent event for UIView view in self view s
  • 如何无限地每1分钟运行一个iOS应用程序?

    我制作了一个应用程序 需要每 1 分钟向服务器发送一次位置和状态更新 我尝试了以下方法 但没有一个能帮助我 有什么解决办法吗 1 NSTimer 很多人建议这样做 但问题出在后台模式上 它只能工作 20 分钟 该应用程序停止发送数据后 2
  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • 在 Firebase 中构建聊天应用的数据

    我正在关注 Firebase 指南结构化数据 https firebase google com docs database ios structure data flatten data structures对于聊天应用程序 他们建议的结
  • 在 Swift 中使用 commitEditingStyle 动态删除 UITable 部分

    我正在处理一个无法解决的问题 我有一个来自客户数据库数组的名称表 每个客户在其他数据成员中都有一个名称属性 我可以成功删除某个部分中的行 但我不能删除该部分 当该部分中的最后一行被删除时 该部分必须消失 I got NSInternalIn
  • 无法安装企业应用程序 - 此配置文件无法安装在此设备上

    我正在设置 Jenkins 来构建应用程序的企业版本 以便在我们的内部应用程序商店中分发 如果我将应用程序存档在 Xcode 中 然后在手机上下载内置的 ipa 则应用程序安装不会出现任何问题 但是当我使用 Jenkins 生成的具有相同私
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • iOS:将观察者添加到 UIView 的frame.origin.y?

    我正在尝试监视 UIView 框架原点的变化值并对其做出反应 我的代码 cell bottomView addObserver self forKeyPath frame origin options NSKeyValueObserving
  • 从 iOS 应用程序打开 YouTube 频道的最新 URL 方案是什么 [重复]

    这个问题在这里已经有答案了 我想使用 iPhone 应用程序中的频道打开 Youtube 应用程序 以前我使用以下 URL 方案并且工作正常 youtube 用户 频道名称 但在我将 Youtube 应用程序更新到最新的 2 6 0 后 这
  • 在 Swift 中将动态 Int 变量从一个类传递到另一个类

    我是 swift 2 的新手 我陷入了将变量从一个类传递到另一个类的过程中 我有一个类 GameScene 我有一个公共变量score并且在更新功能中不断更新 我想发送score两个节点相互碰撞时的值 一旦它发生碰撞 我就会使用 mainv
  • 如何修复 ReactiveCocoa(带有 CocoaPods)的安装?

    这里是新手 尝试将 ReactiveCocoa 2 2 4 和 CocoaPods 安装到项目中 但在运行时遇到错误 我用过github 上的这个 podspec https github com CocoaPods Specs blob
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • UICollectionReusableView 方法未被调用

    我希望我的部分位于UICollectionView有一个带有图像的标题 我已按照以下步骤操作 在故事板中 分配了一个标题作为我的附件UICollectionView 给它一个标识符 创建了一个子类UICollectionReusableVi
  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • 将捕获的图像精确裁剪为 AVCaptureVideoPreviewLayer 中的外观

    我有一个使用 AV Foundation 的照片应用程序 我使用 AVCaptureVideoPreviewLayer 设置了一个预览层 它占据了屏幕的上半部分 因此 当用户尝试拍照时 他们只能看到屏幕上半部分看到的内容 这很好用 但是当用
  • CustomNSError 协议有什么作用以及为什么我应该采用它?

    什么是CustomNSError协议的用途以及为什么我应该采用它 Apple提供的文档仅指出 描述错误类型 具体提供域 代码和 用户信息字典 我已经在谷歌上搜索过 但找不到与我的问题相关的任何内容 每种类型都符合Error协议是隐含地桥接的
  • 如何在 Swift 中创建 UIAlertView?

    我一直在努力在 Swift 中创建 UIAlertView 但由于某种原因我无法得到正确的语句 因为我收到此错误 找不到接受提供的 init 重载 论点 我是这样写的 let button2Alert UIAlertView UIAlert
  • Google Cloud Messaging 显示成功消息但未发送 iOS

    所以我在使用 Google Cloud Messaging 时遇到了一个非常奇怪的问题 我遇到的问题是它正在成功注册设备 并且当发送消息时我会收到来自 Google 的成功消息 但设备永远不会收到任何消息 我从 GCM 得到的消息是 res

随机推荐

  • Link R闪亮select输入项打开文件actionButton

    使用 R闪亮 是否可以将 selectInput 项目链接到打开文件操作按钮 我想调整操作按钮的 onclick 参数来实现它 请在下面找到一个可重现的示例 假设 www 文件夹中有 file 1 pdf 和 file 2 pdf 如何打开
  • 忽略这些 kotlin 的 proguard 注释是否安全?

    我不明白为什么我会从混淆器那里得到这些注释 也不明白我是否必须采取任何措施来解决它们 Note kotlin internal PlatformImplementationsKt can t find dynamically referen
  • Reactjs如何在map函数中使用ref?

    我正在通过数组进行映射 并为每个项目显示一个带有文本的按钮 假设我希望单击按钮时 下面的文本会将其颜色更改为红色 如何定位按钮的同级按钮 我尝试使用 ref 但由于它是映射的 jsx 因此只会声明最后一个 ref 元素 这是我的代码 cla
  • 在 Apple Appstore 中发布我的应用程序之前,我能否获得该应用程序的链接? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在将应用程序发布到应用商店之前 我能否获得应用程序的链接 直接从设备打开它 我想在我的应用程序中单击 评价此应用程序 按钮 在 Googl
  • 缓存条目未使用

    我们有一个使用以下技术的 Web 应用程序 JSF 2 0 EJB 3 1 JPA 2 0 JBoss AS 7 1 Final 有时我们会突然出现以下异常 09 46 29 664 ERROR org jboss ejb3 invocat
  • 如何让 GestureDetector 在触摸 Flutter 中的空白区域时也起作用

    我有2个Text里面的小部件GestureDetector The onTap回调仅在我触摸时通知Text但不是我里面的空白空间Container 如何让这个通知就像我触摸按钮一样 Very very very long long ng l
  • Facebook graphApi oAuth - 如何获取访问令牌?

    我正在尝试使用 JavaScript Facebook SDK 获取某个用户的留言墙 当我使用图形 API Explorer 时 它工作正常 但是当我在我的网站上尝试同样的操作时 出现以下错误 code 104 message An acc
  • 实例化列表时 是什么类型?

    我在多个不同的地方看到人们实例化列表或 ArrayList 例如 List
  • Java EE 容器中的同步请求-应答模式

    我希望在 Java EE 容器内使用 JMS 实现同步请求 答复模式 顺序会是这样的 浏览器向 Web 应用程序发出数据请求 这是一个阻塞请求 比如在线程 T1 上 Web 应用程序需要连接到远程 Web 服务才能满足上述请求 因此 它形成
  • 在真实设备与模拟器上测试 iOS 测试

    我是 iPhone iPad 开发新手 即将完成我的第一个应用程序 我正在寻找一些一般性建议 我知道在实际设备上进行测试很重要 而不仅仅是模拟器 人们在交易设备上进行测试时通常会遇到哪些类型的事情 而他们在模拟器中看不到 该应用程序本身主要
  • pl/sql 函数中的 select 子句返回错误值

    当我这样做时 select sum m mot from rmtq mq join rmo m on mq id m id where mq another 138 返回值 2 这是正确的 但是当我将此代码放入函数中时 create or
  • 多个主屏幕小部件的单个配置活动

    我的 Android 应用程序有一个针对不同 Homescreen 小部件的配置活动 我在配置活动中获取 WidgetId 如下所示 widgetid extras getInt AppWidgetManager EXTRA APPWIDG
  • iOS 6 保存/恢复应用程序状态功能

    我正在尝试在 iOS 6 上使用新的保存 恢复应用程序状态功能 但是如果我杀死了应用程序 则不会调用 application shouldRestoreApplicationState 方法 因此它不会恢复应用程序状态 但如果我正在运行它从
  • 正交相机旋转

    我可以使用此代码旋转相机 camera zoom 3 in constructor if camera zoom gt 1 camera zoom 0 01f camera rotate 15 this is done in render
  • Shrine gem - 如何从 s3 删除上传的图像

    显然 remove attachment插件可以完成检查和提交的技巧 但如何从控制器调用该方法 所有允许您设置表单字段的插件 remove attachment remote url data uri 的工作方式是向您的模型添加 gette
  • 使用简洁的 DAL 和 C#

    我有一个使用 Dapper 的数据访问层 但不禁觉得它可以更加优雅 DAL 只是传递参数并根据模型的命名响应映射模型 因此该部分至少是直接的 但我讨厌看起来重复的代码 这是一个例子 public IEnumerable
  • 故事板segue 显示从底部垂直而不是水平的过渡

    我有一个基本的故事板设置 可以通过单击按钮来通过一些视图控制器进行转换 我还在故事板的根部设置了一个导航控制器 希望这个 Segue 链的性能与一系列 Pushes 过去的工作方式类似 功能都在那里 导航栏控制也是如此 但是过渡都有从底部进
  • 计算非常大的矩阵的逆

    我正在尝试用 C 计算一个非常大的矩阵 11300x21500 的逆 到目前为止 我已经尝试过 Eigen 和 Armadillo 库 但都在初始化阶段失败 说没有足够的内存 有什么办法可以克服这种情况吗 提前致谢 P S I should
  • 使 Linearlayout 可滚动而不使用 Scrollview

    我有一个 Linearlayout 我想使其可滚动而不使用 ScrollView 是否可以 任何建议将不胜感激 详细信息如下 如果我使用 ScrollView 包装 LinearLayout 那就可以了 但是当我在 LinearLayout
  • 如何在 Alamofire 中使用 NetworkReachabilityManager

    我想要类似的功能AFNetworking在 Objective C 中 在 Swift 中使用 Alamofire NetworkReachabilityManager Reachability detection AFNetworkRea