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 다시 동일한 요청을 호출하기 전에 몇 가지 다른 클래스 (BaseController.swift)의 모든 작업을 취소 dataTask를 추가 할. 라는
self.operationQueue.addOperationWithBlock{
//Added above code
}
그리고 BaseController.swift 파일 내의 - -
HTTPServiceProvide.sharedInstance.operationQueue.cancelAllOperations
그러나 :(
감사
을 작동하지 않습니다 그것입니다.이 코드를 시도하지만 작동하지 않음
은 관리자'전에 모든 호출이 시도
을 사용, 나는 새로운 HTTP 요청을
tasks.append(dataTask)
하기 전에 취소하고 모든 작업을 취소 할 모든
dataTask
를 추가 .operationQueue.cancelAllOperations()' –대기열에 작업을 추가하지 않으면 작업을 취소 할 수 있기 때문에 작동하지 않습니다. –
이 프로젝트에서는 가능하지 않을 수 있지만 Swift를 사용하는 경우 AFNetworking 대신 Alamofire를 사용하는 것이 좋습니다. – Fogmeister