如何一次缓存多个nsurl请求

时间:2013-11-29 06:53:01

标签: ios caching uiwebview

在我的应用程序中,我使用NSURLRequest在我的iOS应用程序中呈现html页面,这些页面包含使用PHP中的高图表绘制的图形。我希望用户即使没有连接到网络也能查看图表。我使用了NSURLRequest缓存策略,但它一次只缓存一个url,如果尝试缓存多个url似乎有问题并且没有显示结果,在我的应用程序中我必须提供大约7到8个图表所以我必须使用7到8 NSURLRequest,有没有办法一次缓存多个NSURLRequest ..我试过的代码是..

UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 700, 500)];

web.backgroundColor = [UIColor grayColor];
NSLog(@"the value in urlstring is %@",urlstring);
NSURL *disurl = [NSURL URLWithString:@"http://******/countries.php"];

NSURLRequest *urlrequest = [NSURLRequest requestWithURL:disurl cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:100];

[web loadRequest:urlrequest];

[self.view addSubview:web];
UIWebView *web1 = [[UIWebView alloc] initWithFrame:CGRectMake(0, 520, 700, 500)];

web1.backgroundColor = [UIColor grayColor];
NSLog(@"the value in urlstring is %@",urlstring1);
NSURL *disurl1 = [NSURL URLWithString:@"http://********/countries1.php"];

NSURLRequest *urlrequest1 = [NSURLRequest requestWithURL:disurl1 cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:200];

[web1 loadRequest:urlrequest1];

[self.view addSubview:web1];

这是我的代码..当我尝试缓存只有一个nsurl请求它运行良好,但当我尝试缓存两个一次时它表现不正确..实际输出应该是这样的

enter image description here

但是当我尝试缓存离线时输出来了

enter image description here

如果我只缓存一个图表,输出正确..任何人都可以帮助..谢谢你......

1 个答案:

答案 0 :(得分:0)

我找到了这个链接.. http://robnapier.net/blog/offline-uiwebview-nsurlprotocol-588 清楚地解释了UIWebView的离线缓存