2011-10-12 2 views
0

J'ai sous-classé NSURLCache, et a écrasé cachedResponseForRequest, et a changé le cache partagé à mon propre objet cache, pour intercepter chaque demande d'URL faite par un UIWebView. Il fonctionne parfaitement à la première fois, lorsque l'URL est chargé dans le UIWebView, il intercepte tout (css, jpg, etc). Mais quand j'essaye de charger la même URL (par exemple index.html), la méthode cachedResponseForRequest ne sera pas appelée. Si j'essaye avec une URL différente, cela fonctionne à nouveau parfaitement.cachedResponseForRequest ne sera pas appelé après le chargement de la même URL

J'ai essayé de modifier la propriété cachePolicy de la requête à toutes les valeurs possibles, mais rien n'a aidé.

Répondre

-2

Enfin, j'ai trouvé une solution: après chaque requête d'URL, vous devez libérer toutes les UIWebViews, et les recréer avant la prochaine requête. IMPORTANT: chaque diffusion doit avoir lieu avant les nouvelles allocs.

+0

Ne semble pas être la meilleure solution pour détruire, recréer, reconfigurer et repositionner toutes les vues Web. – Rivera

+0

Dites-le aux gars d'Apple, ce n'était pas mon idée de créer un cache à l'intérieur de l'UIWebView qui ne peut pas être explicitement effacé pour ces raisons. PS. cette solution est pour IOS4 seulement – Kompi

Questions connexes