gpt4 book ai didi

afnetworking-2 - AF网络2 : How to cancel a AFHTTPRequestOperationManager request?

转载 作者:行者123 更新时间:2023-12-03 07:37:30 25 4
gpt4 key购买 nike

我将网络功能从 AFNetworking 迁移到 AFNetworking v2,我使用 AFHTTPRequestOperationManager 来代替 AFHttpClient也支持iOS6。

我的问题是,在 AFHttpClient 中,有使用

取消待处理请求的功能
- (void)cancelAllHTTPOperationsWithMethod:(NSString *)method path:(NSString *)path;

方法,在AFHTTPRequestOperationManager中没有这样明显的方法。

到目前为止我所做的是子类化 AFHTTPRequestOperationManager 并声明 iVar

AFHTTPRequestOperation *_currentRequest;

当我发出请求时,代码类似于

- (void)GetSomething:(NSInteger)ID success:(void (^)(MyResponse *))success failure:(void (^)(NSError *))failure
{
_currentRequest = [self GET:@"api/something" parameters:@{@"ID": [NSNumber numberWithInteger:ID]} success:^(AFHTTPRequestOperation *operation, id responseObject) {
MyResponse *response = [MyResponse responseFromDictionary:responseObject];
success(response);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
failure(error);

}];
}

我有一个

- (void)cancelCurrentRequest;

方法的作用是

- (void)cancelCurrentRequest
{
if(_currentRequest) {
[_currentRequest cancel]; _currentRequest = nil;
}
}

现在,我认为这不是一个好的做法,当调用该方法时,我得到(NSURLErrorDomain error -999.),这就是为什么我需要一些建议来正确完成此操作。

提前谢谢您。

最佳答案

Objective-C

[manager.operationQueue cancelAllOperations];

swift

manager.operationQueue.cancelAllOperations()

关于afnetworking-2 - AF网络2 : How to cancel a AFHTTPRequestOperationManager request?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20143877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com