我使用以下代码从服务器中提取一个简单的JSON提要:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager GET:kDataUrl parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"response: %@", responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"JSON DataError: %@", error);
}];
它起作用了。但是,当我在kDataUrl
上更改了JSON文件,并验证了更改是在浏览器中进行的,当我再次运行应用程序时,我仍然得到以前的响应。
似乎AFNetworking以某种方式缓存了旧的响应。我不想要这种行为。我想下载当前的订阅源。是否需要设置某种类型的设置或参数来关闭缓存?
发布于 2014-05-12 16:56:10
长话短说,只需定义您的AFNetworking管理器:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
享受吧!
发布于 2016-02-20 00:27:19
只需这样做:
manager.requestSerializer.cachePolicy = NSURLRequestCachePolicyReturnCacheDataElseLoad
发布于 2016-02-27 08:45:13
对于Swift poeple
let manager = AFHTTPSessionManager()
manager.requestSerializer.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData
https://stackoverflow.com/questions/20166148
复制相似问题