2015-05-14 14 views
11

Sembra se chiamo:Memorizzazione nella cache in AFNetworking + UIImageView non rispetta le norme della cache http? (Si spera sbaglio)

setImageWithURLRequest:(NSURLRequest *)urlRequest 
       placeholderImage:(UIImage *)placeholderImage 
         success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success 
         failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure 

che l'immagine risultante sarà messo in AFImageCache di AFNetworking indipendentemente da qualsiasi criterio di cache impostato nelle intestazioni di risposta HTTP e rimarrà lì e viene prelevato da lì a prescindere dall'età, su richieste successive allo stesso URL.

È preciso?

L'unica cosa che lo costringe ad ignorare la cache, è quello di impostare NSURLRequestReloadIgnoringCacheData o NSURLRequestReloadIgnoringLocalAndRemoteCacheData nella richiesta (a proposito l'immagine risultante sarà ottenere ri-cache da AFNetworking, quindi questo è un modo per costringerlo a rinfrescare è la cache).

Ora, sicuro che AFImageCache non restituisca alcun risultato, AFNetworking (credo), per esattamente una richiesta, utilizzerà il NSURLCache predefinito di Apple che in teoria rispetta le intestazioni della cache http. Ma questa è solo una richiesta, perché AFNetworking, quindi getta il risultato nella sua cache permanente, non a conoscenza dell'http.

Fammi sapere se ho sbagliato o perso qualcosa.

risposta

Problemi correlati