gpt4 book ai didi

ios - 始终在 NSURLSessionDataTask 中取回缓存数据

转载 作者:可可西里 更新时间:2023-11-01 04:23:28 30 4
gpt4 key购买 nike

在使用 NSURLSessionDataTask 向服务器发送 JSON 请求时,我遇到了一个非常奇怪的问题。

第一个请求通过并且我收到正确的 JSON 响应,当我执行第二个请求时,我总是得到旧的响应并且服务器从未收到请求。即使我打开飞行模式,NSURLSessionDataTask 也能正常工作,我又得到了旧的响应。

这是我正在使用的代码:

- (void)getJSONFromURL:(NSURL*)url identifierCode:(NSInteger)code
{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request addValue:[DataController sharedInstance].currentUser.userToken forHTTPHeaderField:@"User-Token"];
[request setHTTPMethod:@"GET"];

if (![SVProgressHUD isVisible])
[SVProgressHUD show];

NSURLSessionDataTask *postTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

[self handleResponse:httpResponse withJSON:json identifierCode:code];

dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
});
}];

[postTask resume];

最佳答案

我发现了这个问题,我不知道为什么会发生变化,因为我以前从未设置过该属性。不管怎样,我设置了 configuration.URLCache = NULL;,现在一切正常了。

关于ios - 始终在 NSURLSessionDataTask 中取回缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23679195/

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