0
如何在互聯網可用時加載網頁並將其緩存爲脫機使用,並且當互聯網再次可用時更新爲最新版本?使用UIWebView緩存iPhone上的網頁
如何在互聯網可用時加載網頁並將其緩存爲脫機使用,並且當互聯網再次可用時更新爲最新版本?使用UIWebView緩存iPhone上的網頁
我假設有一些基本技能可用。這是一個大綱。
使用獲取的網頁:
NSData *data = [NSData dataWithContentsOfUrl:yoururl];
如果成功的話,使用本地存儲的文件:
-(NSString*)cacheFile
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
NSUserDomainMask, YES);
return [[paths objectAtIndex:0] stringByAppendingPathComponent:@"cached.html"];
}
[[NSFileManager defaultManager]
createFileAtPath:[self cacheFile] contents:data attributes:nil];
讓web視圖顯示本地頁面:
NSData *data = [NSData dataWithContentsOfFile:[self cacheFile]
options:nil error:nil];
[webView loadData:data MIMEType:@"text/html"
textEncodingName:@"UTF-8" baseURL:yoururl];
不要知道你是否可以擺脫我放在這裏的所有nil
指針,但如果它不工作查閱文檔。並做添加一些檢查返回值...
如何以及在哪裏檢查互聯網是否可用? – Yazzmi 2010-07-27 21:37:31
這個請求簡直失敗了,我想,返回'nil'。否則,您可能需要採取更加複雜的方式:+(id)dataWithContentsOfURL:(NSURL *)aURL選項:(NSDataReadingOptions)掩碼錯誤:(NSError **)errorPtr',這對於出錯的地方會更加詳細。 – mvds 2010-07-27 22:03:55