2

在导航到另一个屏幕之前,我需要下载并缓存整个网页。对于缓存,我有子类NSURLCache,并通过覆盖 cachedResponseForRequest:requeststoreCachedResponse:forRequest:方法保存响应。当有 webView 并且我在其中加载请求时,它可以正常工作并缓存。

就我而言,我需要先下载许多网页,然后才能将其实际显示在 webView 上。那么如何模拟loadRequest:UIWebView 而不实际将其作为子视图添加到任何地方呢?或者最好是任何其他方式我可以在不使用 UIWebView 的情况下加载网页..??

这是我发现的:

  1. 如果 UIwebView 未添加为子视图,并且如果我调用loadRequest:,则不会加载请求(甚至不调用委托方法..!)

  2. 我尝试使用 NSURLConnection,

    [NSURLConnection sendAsynchronousRequest:urlrequest queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { }];

并且,

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:urlrequest delegate:nil];
if (theConnection) {

}

但上述方法的问题在于,它只发送一个请求,我的意思是它不会请求我需要缓存的网页中的图像、css和js文件。

那么,有什么方法可以让它像在 .. 中一样请求所有UIWebView内容loadRequest??

4

0 回答 0