gpt4 book ai didi

ios - 如何在注销期间取消所有 NSMutableURLRequest?

转载 作者:行者123 更新时间:2023-11-29 00:52:17 24 4
gpt4 key购买 nike

我正在使用 NSMutableURLRequest 向服务器发出 HTTP 请求。现在,由于网络缓慢,需要一些时间才能获得响应,在这期间我想从我的应用程序注销。由于在注销之前已经向服务器发送了多个请求,因此它会从服务器带来一些响应。我已经从应用程序注销,所以我不想处理这些响应并想取消所有待处理的请求队列中的所有内容。

那么如何在注销后停止获取所有响应呢?我应该使用一些标签logout并检查它吗?

代码片段:-

+(void) httpRequestWithUrl:(NSString *)path onComplection:(RequestCompletionHandler)complect {

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:path]];
[request setHTTPMethod:@"GET"];

[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];

NSOperationQueue *backgroundQueue = [[NSOperationQueue alloc]init];


[NSURLConnection sendAsynchronousRequest:request
queue:backgroundQueue
completionHandler:^(NSURLResponse *response,NSData *data,NSError *error){
NSString *result = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
if(complect)
complect(result,error);
}
];

}

编辑:-

AFNetworking 怎么样?

最佳答案

我建议使用 NSURLSession 而不是 NSURLConnection。它是专门为使这更容易而设计的。创建单个 session ,当用户注销时,对现有 session 调用 invalidateAndCancel(然后在单独的 session 中注销)。

实际上,此时基于 NSURLConnection 编写代码的唯一正当理由是为了支持 iOS 6 及更早版本/OS X v10.8 及更早版本,并且听起来您正在编写新代码,所以...请使用更现代的 API。

关于ios - 如何在注销期间取消所有 NSMutableURLRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37996397/

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