Kun*_*ani 5 iphone objective-c uiwebview nsurlcache ios
我正在尝试使用NSURLCache中的数据离线加载UIWebView。
-(BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//设置缓存
int cacheSizeMemory = 4 * 1024 * 1024; // 4MB
int cacheSizeDisk = 32 * 1024 * 1024; // 32MB
NSURLCache * urlCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@“ nsurlcache”]];
[NSURLCache setSharedURLCache:urlCache];
}
-(无效)loadWebView {
request = [NSURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:1000];
[self.webView loadRequest:request];
}
当我尝试离线加载UIWebView时,它将调用didFailWithError而不是connectionDidFinishLoading。但是,我的Cache目录包含脱机数据和资源,例如CSS,JS文件,但UIWebView无法访问它。
我已经通过重写以下方法来确认这一点:
-(NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request {
NSCachedURLResponse *响应= [超级cachedResponseForRequest:请求];
if([response.data length]> 0){
//所有css,js脚本文件都会调用
NSLog(@“从缓存中返回数据”);
}
返回响应;
}
此外,从缓存UIWebview返回的数据无法加载。
| 归档时间: |
|
| 查看次数: |
2351 次 |
| 最近记录: |