2012-07-17 22 views
6

Uygulama paketimde gömülü bir html var. Yüklemek için loadHtmlString kullanıyorum. Aynı zamanda benim belgeler klasöründe bazı görüntü dosyaları vardır. Benim belgeler klasöründe bir ile benim html içinde img değiştirmek istiyorum. Benim belgelerde dosya yoluna @image değiştirmek için aşağıdaki kodu kullanıyorumUIWebView'ımın loadHtmlString'i için önbellek nasıl temizlenir?

 <div id="image"> 
      <a href="image"> 
       <img src="@image" class="center">    
      </a> 
     </div> 

:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png"]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

    NSURL* baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]; 
    [self.webView loadHTMLString:text baseURL:baseUrl];  

(metin html Örneğin, işte ben örnek html html dosyamın metni).

Bu kod çağrıldığında ilk kez çalışır. Ancak, örneğin, myimage.png dosyasını değiştirir ve kodu tekrar ararsam, değiştirmeden önceki görüntü hala gösterilir. (Dosyamı belge klasörümde kontrol ettim, zaten doğru şekilde değiştirildi).

Önbellekten kaynaklandığından şüpheleniyorum. Herhangi biri tavsiye edebilir mi?

Teşekkür

Not: cache kaynaklanır

. Ben resmin yeni bir kopyasını yüklemek için UIWebView zorlamak için aşağıdaki yöntemi kullanarak sorunu çözüldü:

NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@?t=%d", 
         [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png",time(NULL)]; 
    text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile]; 

cevap

7

benim url bir zaman eklemek sorunu çözdü. Böylece görüntü önbelleğe alınmayacak. Lütfen sorularıma bakın. Soru kapalı olarak düşünülmelidir.

+0

Aynı problemim var! Ama benim durumumda görüntü adını değiştiremiyorum. Web görünümümü temizlemek zorundayım ... herhangi bir fikrin var mı? – iWheelBuy

+0

Çözümüm, görüntünün URL'sini değiştirmek ve böylece önbellek kullanmadan görüntüyü almak için zorlamaktır. Görüntü URL'sini neden değiştiremiyorsunuz? Resmi yine de yüklemelisin, değil mi? –

+0

Resim URL'sini değiştirdim! Şimdi iyi çalışıyor. URL'yi değiştirmek zor bir şeydi. Proje aşırı büyük ve benim projem değil. Her neyse, çözümünüz sadece tek kurnazlık olduğu ortaya çıktı. Teşekkürler! – iWheelBuy