iOSネットワークリクエストの小さな穴

923 ワード

  • は、ネットワークリソースにjsonファイルを直接入れ、AFNで直接要求する必要がある.
  • ピットは、最初のリクエストに成功し、その後、無限412エラーが発生しました.時間が経過すると、データを1回要求することに成功し、無限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
    };
    

    N S R u r L R e q u s t R e l o adIgnoringLocalAndRemoteCacheDataに設定し、解決!