首页 > 代码库 > 缓存网络请求的结果
缓存网络请求的结果
显然在某些情况下我们很希望减少移动设备和网络的交互次数,这就需要使用iOS的内存缓存了。代码基本上没有什么需要解释的地方,注意不要乱缓存,注意根据需要清理缓存即可。
1 //构建请求 2 NSURL *url = [NSURL URLWithString:@"http://218.241.17.106/webService/configService.asmx/GetNewCarInfo?CarID=1"]; 3 NSURLCache *urlCache = [NSURLCache sharedURLCache]; 4 [urlCache setMemoryCapacity:1*1024*1024]; 5 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0f]; 6 7 //如果有缓存,则从缓存中读取数据 8 NSCachedURLResponse *response = [urlCache cachedResponseForRequest:request]; 9 if (response != nil){10 [request setCachePolicy:NSURLRequestReturnCacheDataDontLoad];11 }12 13 //发送请求14 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {15 NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];16 NSLog(@"%@", responseStr);17 }];
代码基本没有什么需要解释的地方
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。