如何使用url中的文件名将图像缓存到文档文件夹

时间:2014-07-07 14:51:41

标签: ios objective-c

如何使用文件名将图像缓存到Caches文件夹中。我有一个集合视图加载来自互联网的图像网址。所以我希望在Caches文件夹中将文件名为cache的缓存图像作为url。提前谢谢

1 个答案:

答案 0 :(得分:2)

下载图像并将其保存到Caches文件夹非常简单:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

    NSString *urlString = @"http://URL";

     NSData *webData= [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];

    if (webData) {
        // save in the Filesystem
        NSString* cachesDirectory =  NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
        NSString *file = [cachesDirectory stringByAppendingPathComponent:[urlString lastPathComponent]];
        [webData writeToFile:file atomically:YES];
    }
});

但是当您显示图像时,ios使用延迟图像解压缩,这会在主线程上产生延迟。为了避免这些延迟,有很棒的库:

SDWebImage

FastImageCache

我建议你使用其中一种。