看看
SDWebImage
储存库。它提供了执行异步映像加载的所有功能。
更新
我刚注意到自述文件中有一些拼写错误,因此下载本地文件可能无法按预期工作。
这是一些示例代码。视图控制器有一个uiImageView出口,希望加载
image.jpg
文件。它实现了
SDWebImageManagerDelegate
协议:
- (IBAction)loadImage:(id)sender {
SDWebImageManager *manager = [SDWebImageManager sharedManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *destPath = [documentsDirectory stringByAppendingPathComponent:@"image.jpg"];
NSURL *url = [NSURL fileURLWithPath:destPath];
UIImage *cachedImage = [manager imageWithURL:url];
if (cachedImage)
{
imageView.image = cachedImage;
}
else
{
[manager downloadWithURL:url delegate:self];
}
}
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
{
imageView.image = image;
}