如何创建循环检查应用程序的连通性

时间:2018-07-22 03:09:57

标签: ios swift xcode loops

我正在尝试在我的应用上创建一个循环以检查连接性。因此,当应用程序首次加载时,用户必须连接到互联网,否则他将无法继续使用该应用程序。

但是,我正在尝试创建一个函数,当用户没有互联网时,UIAlerView会一直显示在屏幕上,直到找到互联网连接为止,然后应将其关闭,然后再吃另一种方法。对我而言,最好的方法是什么?

   let alert = UIAlertController(title: "Primeiro Uso", message: "Voce precisa estar conectado na internet", preferredStyle: UIAlertControllerStyle.alert)

                        // add the actions (buttons)
                        alert.addAction(UIAlertAction(title: "Estou Conectado", style: .default, handler: { action in

                            if Connectivity.isConnectedToInternet != true {

                             //How do I create a loop here until find a connection?
                             //I'd like to persist the UIAlerView until find a connection


                            }
                            //Once the user is connected, this code below should be
                            //lunched
                            getApiData { (cerveja) in
                                arrCerveja = cerveja
                                //Backup
                                do{
                                    let data = try JSONEncoder().encode(arrCerveja)

                                    UserDefaults.standard.set(data, forKey: "backupSaved")
                                    //
                                    self.tableView.reloadData()
                                }catch{print(error)
                                }

                            }}))

                        alert.addAction(UIAlertAction(title: "Cancelar", style: UIAlertActionStyle.cancel, handler: nil))

                        // show the alert
                        self.present(alert, animated: true, completion: nil)
                    }

1 个答案:

答案 0 :(得分:-1)

您可以使用此答案

https://stackoverflow.com/a/3597085/2621857

在应用程序的 appDelegate 级别中

我认为创建用于检查Internet的循环,将以某种方式使处理器承受内存泄漏的压力,因此我建议不要使用某种循环来检查Internet。

我希望这对您有用。