我想将缓存数据复制到数据库(sqlite / coreData),以便我可以在离线(没有Internet)时查看“在Safari中读取列表”。我在Xcode UIWEBVIEW download , save HTML file and show阅读了代码 以下是: -
- (void)viewDidLoad
{
NSURL *url = [NSURL URLWithString:@"http://livedemo00.template-help.com/wt_37587/index.html"];
//[WEBVIEW loadRequest:reqURL];
// Determile cache file path
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"index.html"];
// Download and write to file
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
// Load file in UIWebView
[WEBVIEW loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];
[super viewDidLoad];
}
但是这段代码的问题在于它在离线状态下不显示图像。
所以我认为将数据从缓存保存到数据库可能是另一种选择。任何人都可以共享一些示例代码,将网站内容和图像一起复制到数据库。
提前谢谢
答案 0 :(得分:0)
您可以使用ASIWebPageRequest,例如here
或
如果可达性得到连接
NSCachedURLResponse* response = [[NSURLCache sharedURLCache]
cachedResponseForRequest:[webView request]];
NSData* data = [response data];
将数据存储在本地,并在脱机可达性时使用它。