swift - 使用 Alamofire 持续检查互联网连接

标签 swift alamofire internet-connection

我的应用基于 TableView,它使用 Alamofire 从服务器下载一些数据。因此,因为必须有互联网连接才能使用我的应用程序,所以我想不断检查它。我找到了创建此类的解决方案:

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

我在每个方法中都添加了这些代码行来检查互联网连接

if !Connectivity.isConnectedToInternet() {

        print("No internet connection")
        } else {
            print("connected")
        }

它有效,但我不认为这是持续检查连接的正确方法。我认为我必须使用 appDelegate 中的 notificationCenter 实现一些观察者,但我不知道该怎么做......

最佳答案

不要这样做! Apple 多年来一直表示,您永远不应该使用可达性检查作为发出请求的先决条件。相反,您应该发出请求并处理失败,使用可达性在检测到连接已重新建立时可能重试请求。可达性并非 100% 可靠,现在也已被 NWPathMonitor 弃用类。

关于swift - 使用 Alamofire 持续检查互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55186348/

相关文章:

Xcode、Parse.com - 推送通知不显示在我的手机上。

ios - 如何为 oslog 创建的日志添加不同的记录器(输出目的地,如文件和 Crashlytics)?

ios - UISplitViewController - 从细节更新主 TableView

ios - 尽管有 4G,但一台设备的可达性返回 "NotReachable"

android - 如果 android 中的互联网连接速度慢,则显示警报消息

swift - 菜单栏应用程序中的 OS X 键事件 (Swift)

ios - 在 Alamofire、Swift 中同时调用多个 API

php - Alamofire Multipart 图片上传失败

3g - 将 Raspberry Pi 3 连接到 3G 适配器(高通调制解调器)

ios - 如何配合swift/xctest点击iOS主屏幕上的某个点