3

나는 내가 세계백그라운드에서 모든 afhttpsessionmanagers 요청을 취소하는 방법은 무엇입니까?

@property(strong,nonatomic)AFHTTPSessionManager *manager; 

을 사용하고

manager = [[AFHTTPSessionManager alloc] init]; 
    manager.responseSerializer = [AFJSONResponseSerializer serializer]; 
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; 
    AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments]; 

    [manager setResponseSerializer:responseSerializer]; 

와 같이있는 viewDidLoad에 할당하고

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

에 내가 세션 관리자를 사용하여 동기화 요청을 호출하고있는 응용 프로그램을했다 요청 그룹이 주기적으로 발생합니다. 거기에 내가

for (manager in self.arrayOfTasks) { 

     [manager invalidateSessionCancelingTasks:YES]; 
    } 




    manager=nil; 

를하고있는 중이 야 저에 대한 모든 요청을 취소 할 수 나를 위해 옵션이지만, 문제는이 요청을 찾기 위해 나를 인도 사람을 cancelling.can되지 again.it 다시 발생되고 취소 이후 내가 어디로 잘못 가고 있니?

+0

참조 http://stackoverflow.com/questions/39092183/cancel-all-operations-afnetworking-3-0 –

답변

1

당신은 모든 작업이 AFHTTPSession Manager의 시작 취소 코드를 아래이 시도 할 수 있습니다 :

개별 업로드 및 다운로드 작업 취소 또한
for (NSURLSessionTask *task in manager.tasks) 
    { 
     [task cancel]; 
    } 

:

다운로드 작업을 취소 :

for (NSURLSessionTask *task in manager.downloadTasks) 
     { 
      [task cancel]; 
     } 

업로드 작업 취소 :

for (NSURLSessionTask *task in manager.uploadTasks) 
     { 
      [task cancel]; 
     } 
관련 문제