如何在UIWebView中启用缓存?

时间:2016-06-01 07:38:00

标签: ios objective-c caching uiwebview

如何在UIWebView中启用缓存?

令人沮丧。我正在寻找好几个小时但很多其他帖子中没有提到的解决方案对我没有帮助。

我尝试了很多解决方案,例如https://stackoverflow.com/a/26174438https://stackoverflow.com/a/1424301http://codewithchris.com/tutorial-how-to-use-ios-nsurlconnection-by-example/https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/Concepts/CachePolicies.htmliOS Cache a UIWebView等。

我的代码看起来像

    [self setUrl:[[NSString alloc] initWithFormat:@"http://example.com"]];
    [[NSURLCache sharedURLCache] setDiskCapacity:0];
    [[NSURLCache sharedURLCache] setMemoryCapacity:0];
    [self setLoadUrl: [NSURL URLWithString:[self url]]];
    [self setRequestObj:[NSURLRequest requestWithURL:[self loadUrl]]];

如果caching被禁用。如果它已打开,我有

if([[self cache] isEqualToNumber:[[NSNumber alloc] initWithInt:1]])
{
    [[NSURLCache sharedURLCache] setDiskCapacity:4 * 1024 * 1024];
    [[NSURLCache sharedURLCache] setMemoryCapacity:32 * 1024 * 1024];
    [self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]];
}

如何

1 个答案:

答案 0 :(得分:3)

@Premox我认为你可以选择不同的方式。在uiwebview加载页面之后,您可以获得响应html转换为NSString类并将其保存到缓存或序列化,如您所愿