AFURLSessionManagerから継承したHTTPServiceProviderクラスを作成しました。データを取得するコードを以下に追加しました。すべての操作+ 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()
私はAFURLSesstionMangerによって提供さoperationQueueにdataTaskを追加し、再び同じ要求を呼び出す前に、いくつかの他のクラス(BaseController.swift)ですべての操作をキャンセルしたいです。
は、このコードを試みたが、働いていない -
self.operationQueue.addOperationWithBlock{
//Added above code
}
そしてBaseController.swiftファイルと呼ばれる内部 -
HTTPServiceProvide.sharedInstance.operationQueue.cancelAllOperations
しかし、そのは:(
おかげ
を働いていませんが。
を使用追加しました.operationQueue.cancelAllOperations() ' –
キューに操作を追加しないと、操作をキャンセルする方法がないため、機能しません。 –
このプロジェクトでは不可能かもしれませんが、Swiftを使用する場合はAFNetworkingの代わりにAlamofireを使用することをお勧めします。 – Fogmeister