我使用以下代码缓存图片 - 来自Apple Doc
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
NSString *url_string = [NSString stringWithFormat:@"%@",[rowData valueForKey:@"thumbnail_media_id"]];
NSURL *url = [NSURL URLWithString:url_string];
NSData * imageData = [NSData dataWithContentsOfURL:url];
dispatch_async(dispatch_get_main_queue(), ^{
UIImage *image = [UIImage imageWithData:imageData];
// add image in cache
[[WKInterfaceDevice currentDevice] addCachedImage:image name:url_string];
[elementRow.rowImage setImage:image];
});
});
从缓存中检查图像时,图像名称是否包含在
中[[WKInterfaceDevice currentDevice] cachedImages];
然后用方法 -
获取图像[elementRow.rowImage setImageNamed:url_string];
但是无法获得缓存的图片,有什么帮助吗?
答案 0 :(得分:0)
您可以使用NSCache
缓存图像,但您可能不应该使用dataWithContentsOfURL。 NSURLSession内置了有用的缓存。