Как немедленно принудительно отменить операцию NSO с AFNetworking?

Я использую AFNetworking в своем приложении, и я пытаюсь реализовать "Нажмите, чтобы отменить " особенность в моем прогрессе HUD. У меня есть одноэлементный класс, который управляет всеми HTTP-запросами. Если прогресс HUD прослушивается, я звоню:

[[[HTTPRequestSingleton sharedClient] operationQueue] cancelAllOperations];

Но это не такотменить" операция, как мне это нужно. Я читаю наNSOperationQueue документы и наткнулся на это:

Отмена объекта операции оставляет объект в очереди, но уведомляет объект о том, что он должен прервать свою задачу как можно быстрее. Для выполняемых в настоящее время операций это означает, что объект операцииРабочий код должен проверить состояние отмены, остановить то, что он делает, и пометить себя как завершенный. Для операций, которые находятся в очереди, но еще не выполняются, очередь должна по-прежнему вызывать объект операцииs метод start, чтобы он мог обрабатывать событие отмены и помечать себя как завершенный.

И относительноcancelAllOperations метод:

Этот метод отправляет сообщение об отмене всем операциям, которые в данный момент находятся в очереди. Операции в очереди отменяются до того, как они начнут выполняться. Если операция уже выполняется, она должна распознать отмену и прекратить то, что она делает.

Кажется, моя проблема связана с уже выполняющейся операцией, которую я хочу немедленно отменить. С AFNetworking, как я могу предупредить операцию, что она должна отменить и отбросить всю информацию о запросе?

Код, используемый для операции

AFJSONRequestOperation *loginOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {

    //operation was successful

    if (loginOperation.isCancelled)
    {
        //can't do this. variable 'loginOperation' is uninitialized when captured by block      
    }

} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

    //operation failed

}];

Ответы на вопрос(2)

Ваш ответ на вопрос