Ne NSURLConnection profiter de NSURLCache?

Je suis à essayer de comprendre comment utiliser l'URL de chargement de cadre à la charge Url profitant de la mise en cache.

Je suis en utilisant NSURLConnections et les nourrir NSURLRequests. J'ai même mis le cachePolicy sur les demandes de NSURLRequestReturnCacheDataElseLoad. La première fois que je charge une demande, il le fait automatiquement mises dans le cache ([NSURLCache sharedCache] l'a). Mais la prochaine fois que je charge la même demande, le NSURLConnection semble ignorer ce qui est dans le cache et recharger les données.

Suis-je censé être manuellement la mise en œuvre de cache de recherches et de retourner les données mises en cache? Ne NSURLConnection de ne pas le faire? Ou est-il un moyen pour obtenir le cadre de l'utilisation du cache de façon transparente?

Mise à JOUR: Essayé sans succès:

  • Réglage de la demande, stratégie de cache pour NSURLRequestReturnCacheDataElseLoad au lieu de NSURLRequestUseProtocolCachePolicy
  • De ré-utilisation de l'objet de la requête au lieu de faire un nouveau
  • À l'aide de +[NSURLConnection sendSynchronousRequest:returningResponse:error:] au lieu de charger de manière asynchrone
Nourrissez-vous de la même NSURLRequest objet? La documentation indique que la NSURLCache œuvres par une cartographie spécifique NSURLRequest objet spécifié données de réponse, il est donc possible que, même si vous faites une demande vers la même URL, ce sera encore un cache miss.
Où est-il le demande les données à partir de? C'est une page statique ou dynamique avec les entêtes HTTP appropriés? Peut-être l'Expire, Si-Modified-since ou-tête Cache-Control sont des raisons impérieuses le cache?
Non, je suis en train de faire une nouvelle NSURLRequest. Mais quand je fais [[NSURLCache sharedURLCache] cachedResponseForRequest:] avec ce nouvel objet de demande, il n'y est une réponse en cache. Ainsi, le NSURLCache en quelque sorte sait que les demandes sont les mêmes.
PS: j'ai essayé de réutiliser le NSURLRequest objet. Ne pas faire une différence.
De bonnes idées. J'ai essayé à la fois statique et dynamique, ne semble pas faire une différence. Ne voyez pas les en-têtes vous dessus décrite sur la demande ou de la réponse.

OriginalL'auteur jasoncrawford | 2009-12-08