3

私は、私は、セッションマネージャを使用して同期要求を呼び出していたアプリケーションを持っていたバックグラウンドですべてのafhttpsessionmanagersリクエストをキャンセルするには?

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

に私は

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]; 

のようなグローバル

@property(strong,nonatomic)AFHTTPSessionManager *manager; 

とのviewDidLoadで割り当てを使用していますし、 1つのサイクルで要求のグループが発生しています。そこに私は、私は

for (manager in self.arrayOfTasks) { 

     [manager invalidateSessionCancelingTasks:YES]; 
    } 




    manager=nil; 

をやっている私のためにすべての要求をキャンセルするためのオプションがありますが、問題は、この要求が再び起こっているとagain.it誰が見つけるために私を導くcancelling.canされていないにもキャンセルした後でありますどこが間違っていますか?

+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]; 
     } 
関連する問題