Ios Alamofire-检测internet连接 如何检测到与internet的连接?

Ios Alamofire-检测internet连接 如何检测到与internet的连接?,ios,swift,alamofire,Ios,Swift,Alamofire,我有一个viewController,它显示从服务器获取的数据。它是以模式呈现的 如果用户未连接到internet,我会显示一条请求internet连接的消息。否则,我将显示数据 当用户在不离开应用程序的情况下连接到internet时,如何检测它?我假设可以在阿拉莫菲尔中执行此操作 我在viewdiload中使用了以下代码,并且视图将出现,但不会调用侦听器-如果我连接并断开WIFI连接,则不会调用startListening let network = NetworkReachabili

我有一个viewController,它显示从服务器获取的数据。它是以模式呈现的

如果用户未连接到internet,我会显示一条请求internet连接的消息。否则,我将显示数据

当用户在不离开应用程序的情况下连接到internet时,如何检测它?我假设可以在阿拉莫菲尔中执行此操作

我在viewdiload中使用了以下代码,并且视图将出现,但不会调用侦听器-如果我连接并断开WIFI连接,则不会调用startListening

    let network = NetworkReachabilityManager()
    network!.startListening { status in
        if status == .reachable(.cellular) || status == .reachable(.ethernetOrWiFi) {
            self.fetchProducts()
        } else {
            self.noInternetConnnection()
        }
    }


仅供参考,您无法在control center中同时使用WIFI和移动数据。

如果您在功能中声明
网络
,则可能会在范围结束后立即解除分配


确保将其存储在实例变量中。

网络状态更改时是否调用侦听器“它不工作”是什么意思?否则代码块应该可以工作。@omerfarukozturk您是对的。我更新了我的问题。在发出网络请求之前,您不应该检查连接。你应该提出请求并妥善处理任何失败。@JonShier我只想说声谢谢。我照你的建议去做。