J'utilise lib nommé RealReachability qui obtient l'état d'accessibilité en temps réel!Comment arrêter l'exécution de fonction si la connexion Internet est perdue
Et j'ai une fonction qui obtient des données de mon serveur.
Maintenant son ressembler à ceci:
RealReachability.sharedInstance().reachabilityWithBlock { (status: ReachabilityStatus) in
switch status {
case .RealStatusNotReachable:
break
default:
operationQueue.addOperationWithBlock {
GettingDataFromServer() }
}
}
également RealReachability peut envoyer une notification lorsque le statut a changé joignabilité. Son look comme ceci:
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!")
}
}
Que dois-je arrêter l'exécution de la fonction GettingDataFromServer() lorsque l'état de joignabilité changé .RealStatusNotReachable
Vous voulez dire quand func est en cours d'exécution? –
Arun Gupta, oui je veux dire quand func est en cours d'exécution !!! – Dmitry
Vous devrez peut-être utiliser NSOperationqueue ou dispatchqueue pour exécuter la fonction et annuler l'opération lors de la réception de la notification. –