- (void)setImageURL:(NSString *)urlstring{
NSURLCache *urlCache = [NSURLCache sharedURLCache];
/*设置缓存大小*/
[urlCache setMemoryCapacity:4*1024*1024];
//创建一个请求
NSMutableURLRequest *resquest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlstring] cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:60.f];
//从请求中获取缓存输出
NSCachedURLResponse *response = [urlCache cachedResponseForRequest:resquest];
//判断是否有缓存
if (response != nil) {
NSLog(@"如果有缓存输出,从缓存中获取数据");
[resquest setCachePolicy:NSURLRequestReturnCacheDataDontLoad];
}
//创建nsurlconnection
[NSURLConnection connectionWithRequest:resquest delegate:self];
}
/#pragma mark NSURLConnectionDelegat
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[_mutabledata appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
self.image = [UIImage imageWithData:_mutabledata];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
NSLog(@"请求网络出错:%@",error);
}