尝试加载各种本地HTML文件,但始终显示相同的一个文件

时间:2011-04-07 12:43:22

标签: iphone html nsurlrequest

我有一个应用程序,它使用表格视图显示用户可以阅读的故事列表,当他们点击特定标题时,将打开详细信息视图并显示故事。

首先,我让应用程序直接从网络加载故事,这非常有效。我使用了一个数组并传递了特定故事网址的详细信息,并使用以下内容加载页面

[detailWebView loadRequest:[NSURLRequest requestWithURL:detailURL]];

现在我想在本地加载文件,而在搜索时我发现了以下内容

[detailWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:detailURL ofType:@"html"]isDirectory:NO]]];

并且它确实加载了我的本地“故事1”HTML文件,但无论我的表视图中的detailURL传递的文件名是什么,都会加载相同的HTML文件,其格式为

[bookOne addObject:[[NSMutableDictionary alloc]
                       initWithObjectsAndKeys:@"Story One Title",@"name",
                       @"Story 1",@"url",nil]];

如果我传递了一个不退出程序的文件名退出,所以我很确定传递了不同的文件名,但总是显示相同的HTML页面。

我尝试过重新启动等,但同样的文件总是打开,你的帮助将非常感激。

由于 基隆

2 个答案:

答案 0 :(得分:0)

尝试使用

加载文件
loadHTMLString:baseURL:

可能是NSURLRequest缓存文件/响应。

另一种解决方案是使用initWithURL:cachePolicy:timeoutInterval:创建NSURLRequest的实例,并为cachepolicy传递NSURLRequestReloadIgnoringLocalAndRemoteCacheData

答案 1 :(得分:0)

感谢Nick,虽然loadHTMLString没有提供答案,但它让我思考的不同,并且正确地找到问题的真正原因。

在第一个示例中使用网址时,detailURL已设置为NSURL,当我将其更改为NSString时,我的代码运行正常。我不明白为什么它会导致HTML文件的加载行为如此奇怪,但现在一切都运行良好,不同的故事都加载,因为应该没有任何类型的缓存问题。