iOS网络请求的一个小坑

  • 需求
    在网络资源里直接放入一个json文件,直接用AFN请求。


  • 第一次请求成功,之后无限412错误。过一段时间可以成功请求到数据一次,继续无限412。

  • 解决方式
    google了一会,了解了一下412错误,推测是由于网络缓存机制引起的。
    AFHTTPRequestSerializer里有个属性cachePolicy

@property (nonatomic, assign) NSURLRequestCachePolicy cachePolicy;
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    NSURLRequestUseProtocolCachePolicy = 0,

    NSURLRequestReloadIgnoringLocalCacheData = 1,
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,

    NSURLRequestReturnCacheDataElseLoad = 2,
    NSURLRequestReturnCacheDataDontLoad = 3,

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};

设置为NSURLRequestReloadIgnoringLocalAndRemoteCacheData,解决!

你可能感兴趣的:(iOS网络请求的一个小坑)