我有以下代码块来检查Swift中是否有WiFi:
func start() {
if Reachability.isConnectedToNetwork() == true {
dispatch_async(dispatch_get_main_queue()) { [unowned self] in
if self.viewModel?.dataIsReady == true {
self.performSegueWithIdentifier(StoryboardID.SegueShowFeedVC.rawValue,
sender: self)
}else{
if let viewModel = self.viewModel{
self.onboardThree.startButton.alpha = 0.2
self.onboardThree.activityIndicator.startAnimating()
viewModel.waitingForData = true
}
}
}
} else {
print("Internet connection FAILED")
let alert = UIAlertView(title: "No Internet Connection", message: "Make sure your device is connected to the internet.", delegate: nil, cancelButtonTitle: "OK")
alert.show()
}
}
我能够成功检查WiFi,并在WiFi关闭时正确显示警报给用户。但是,我遇到的问题是,当我在应用程序运行时打开WiFi,然后尝试继续运行代码块时,它似乎挂起(即我看到活动指示器永久运行),从这一点来看,代码似乎没有进展。谁能明白为什么?
答案 0 :(得分:0)
如何调用此函数?你是否有某种计时器每隔x秒运行一次,例如然后调用此函数或代码中某个调用此函数的回调?
如果没有看到您目前设置的更多内容,它会让我看到(完全脱离我可用的代码)您只有两个方案:
当您的数据准备就绪时,开始功能是否会再次被调用?#34; ?