Как отменить AFHTTPRequestOperation?

У меня есть класс SingleHit APIHTTPClient, отвечающий за выполнение Restful Call с использованием AFHTTPRequestOperation **. У меня есть сенарио, где пользователь нажимает кнопку, чтобы увидеть представление, и вызывает APIHTTPClient, чтобы получить новые данные для отображения в этом представлении, но пользователь также может нажать кнопку "Назад". щелкнуть другое представление и, вызвав APIHTTPClient, получить новые данные для нового представления.

Как отменить предыдущий запрос AFHTTPRequestOperation, когда пользователь нажимает кнопку Назад, чтобы вызвать другой повторный запрос.

- (void) CallRemoteService: (int) iModuleID {статический NSString * const BaseURLString = @ " http://www.raywenderlich.com/demos/weather_sample/ "; NSString * string = [NSString stringWithFormat: @ "% @ weather.php? Format = xml", BaseURLString];

NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];


// Make sure to set the responseSerializer correctly

// operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

    self.queue = [[NSOperationQueue alloc] init];

1 ответ

Решение

В вашем контроллере представления сохраните ссылку на операцию AFHTTPRequestOperation *, а затем нажмите на спину:

[operation cancel]

Другие вопросы по тегам