提问者:小点点

Alamofire-检测internet连接


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

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

当用户在不离开app的情况下连接到互联网时,如何检测? 我假设在阿拉莫火是有可能做到的。

我在viewDidLoad和viewWillAppease中使用了以下代码,但是没有调用侦听器-如果我连接&; 断开WIFI连接,不调用startListening。

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

仅供参考,您不能同时在控制中心使用WIFI和移动数据。


共1个答案

匿名用户

如果您在函数内部声明network,那么它可能会在作用域结束后立即被释放。

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