AFNetworking网络缓存

2019-01-18  本文已影响59人  溪石iOS

如果你已经使用AFNetworking作为你的http网络框架,就没必要自己实现缓存机制了,直接配置就可以了:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer.cachePolicy = NSURLRequestReloadRevalidatingCacheData;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/html",nil];
[manager GET:@"https://www.baidu.com/"
  parameters:nil
    progress:nil
     success:^(NSURLSessionDataTask * _Nonnull task,
               id  _Nullable responseObject) {
         NSLog(@"%@", responseObject);
     }
     failure:^(NSURLSessionDataTask * _Nullable task,
               NSError * _Nonnull error) {
         
     }];

可以有以下选择:

注意以下策略是未实现的:

可以通过时间戳比对等方法自行实现,需要服务端配合。

上一篇下一篇

猜你喜欢

热点阅读