J'ai créé une classe HTTPServiceProvider héritée de AFURLSessionManager. Ajouté ci-dessous le code pour obtenir les données.Annuler toutes les opérations + AFNetworking 3.0
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manager = AFURLSessionManager(sessionConfiguration: configuration)
let dataTask = manager.dataTaskWithRequest(request) { (response, responseObject, error) in
//Perform some task
}
dataTask.resume()
Je veux ajouter dataTask à operationQueue fourni par AFURLSesstionManger et annuler toute l'opération dans une autre classe (BaseController.swift) avant d'appeler à nouveau la même demande.
Essayé ce code, mais ne fonctionne pas -
self.operationQueue.addOperationWithBlock{
//Added above code
}
Et à l'intérieur fichier BaseController.swift, appelé -
HTTPServiceProvide.sharedInstance.operationQueue.cancelAllOperations
mais ca marche pas :(
Merci
.
essayer cela dans chaque appel avant 'gestionnaire .operationQueue.cancelAllOperations() ' –
Cela ne fonctionne pas car sans ajouter d'opération à la file, comment annuler l'opération. –
Cela peut ne pas être possible dans ce projet, mais il est recommandé d'utiliser Alamofire au lieu de AFNetworking lorsque vous utilisez Swift. – Fogmeister