我正在尝试在我的应用上创建一个循环以检查连接性。因此,当应用程序首次加载时,用户必须连接到互联网,否则他将无法继续使用该应用程序。
但是,我正在尝试创建一个函数,当用户没有互联网时,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)
}
答案 0 :(得分:-1)
您可以使用此答案
https://stackoverflow.com/a/3597085/2621857
在应用程序的 appDelegate 级别中。
我认为创建用于检查Internet的循环,将以某种方式使处理器承受内存泄漏的压力,因此我建议不要使用某种循环来检查Internet。
我希望这对您有用。