1

摘要:我尝试在存储在应用程序支持文件夹中的 css 文件中进行一些手动更改(增加字体、宽度等)并将其保存,当我加载具有指向该 css 链接的相应页面时,我发现它没有反映我在 CSS 中的更改,它只会在我终止应用程序并重新启动时反映我的更改。

我正在开发一个应用程序,我通过这样做将本地存储的 HTML 文件加载到 UIwebView

[[NSURLCache sharedURLCache] removeAllCachedResponses];
[self flushJavaScriptVariables];

[self.objwebview loadHTMLString:@"" baseURL:nil];

NSString *htmlfile = [HTML_SERVER_FILES stringByAppendingPathComponent:@"MyPage.html"];
NSURL *url = [NSURL fileURLWithPath:htmlfile];

 NSURLRequest *thereq = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];

[self.objwebview stringByEvaluatingJavaScriptFromString:@"document.open();document.close()"];

[self.objwebview loadRequest:thereq];

同样在 viewWillDisappear 方法中,我正在这样做

-(void)viewWillDisappear:(BOOL)animated 
{
[super viewWillDisappear:animated];
[self.objwebview loadHTMLString:@"" baseURL:nil];
[self.objwebview setDelegate:nil];
[self.objwebview stopLoading];
[self.objwebview removeFromSuperview];
self.objwebview = nil;
}

现在,如果有任何更改,我会从服务器下载 HTML 文件并将它们保存在应用程序支持文件夹中,但在保存这些文件之前,我会从保存这些更新文件的文件夹中删除所有内容。

现在我被困在一个地方,当我从服务器下载新文件时,新文件的更改没有反映。这些更改仅在我终止应用程序并重新启动我的应用程序时才会反映出来。

即使我更改了一个 HTML 文件中的填充或图像或更改了一个控件的位置,那么在从服务器获取更新的文件时,这些更改也不会反映,除非并且直到您终止应用程序并重新启动它。

我想跳过终止部分,以便我的应用程序直接从存储的文件中加载新的更改。

请指导我,让我知道需要做些什么。

更新:我用来将文件保存在应用程序支持目录中的代码。

NSData *fileData = [NSData dataWithContentsOfURL:theFileURL];
            if (fileData.length!=0)
            {
                [fileData writeToFile:[HTML_SERVER_FILES stringByAppendingPathComponent:[dict valueForKey:@"FileName"]] atomically:YES];

                fileData = nil;

            }
4

1 回答 1

0

更新 HTML 文件后,您需要执行清理项目。否则不会更新。

于 2013-10-15T11:54:52.443 回答