【发布时间】:2023-04-03 03:15:01
【问题描述】:
我使用名为 RealReachability 的库来实时获取当前的可达性状态!
我有一个从我的服务器获取数据的函数。
现在它看起来像这样:
RealReachability.sharedInstance().reachabilityWithBlock { (status: ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
break
default:
operationQueue.addOperationWithBlock {
GettingDataFromServer() }
}
}
RealReachability 还可以在可达性状态更改时发送通知。它看起来像这样:
var operationQueue = NSOperationQueue()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyController.networkChanged), name: kRealReachabilityChangedNotification, object: nil)
func networkChanged(notification: NSNotification) {
print("NetworkChanged")
let status = RealReachability.sharedInstance().currentReachabilityStatus()
switch status {
case .RealStatusNotReachable:
print("try to stop Operation")
operationQueue.cancelAllOperations()
ShowInternetConnectionErrorView()
default:
print("Internet OK!")
}
}
当可达性状态更改为 .RealStatusNotReachable 时,我需要什么来停止 GettingDataFromServer() 函数的执行
【问题讨论】:
-
你的意思是func什么时候在执行过程中?
-
Arun Gupta,是的,我的意思是 func 正在执行过程中!!!
-
您可能必须使用 NSOperationqueue 或 dispatchqueue 来执行 func 并在收到通知时取消操作。
-
Arun Gupta,我尝试使用 NSOperationqueue ......但这对我没有帮助!我已经编辑了我的问题...请看!
标签: swift connection reachability