У меня есть встроенный html в моем комплекте приложений. Я использую loadHtmlString для его загрузки. В то же время в папке моих документов есть несколько файлов изображений. Я хочу заменить свой img в html на тот, который находится в папке моих документов. Например, вот пример html, который у меня есть:
<div id="image">
<a href="image">
<img src="@image" class="center">
</a>
</div>
Я использую следующий код, чтобы заменить @image на путь к файлу в моих документах:
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];
(text — это html-текст моего html-файла ).
Он работает в первый раз, когда этот код вызывается. Но, например, если я изменю myimage.png и снова вызову код, изображение до изменения все равно будет отображаться. (Я проверил свой файл в папке с документами, он уже правильно изменен ).
Подозреваю, что это из-за кеша. Кто-нибудь может посоветовать?
Спасибо
Примечание:
Это вызвано кешем. Я решил проблему, используя следующий метод, чтобы заставить UIWebView загрузить новую копию изображения:
NSString* imgFile = [NSString stringWithFormat:@"file:///%@/%@?t=%d",
[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Images"],@"myimage.png",time(NULL)];
text = [text stringByReplacingOccurrencesOfString:@"@image" withString:imgFile];