iOS缓存会话之间的UIImage

时间:2016-02-11 18:09:42

标签: ios objective-c afnetworking

我有AFNetworking显示用户的Facebook照片。我使用onNewIntent下载图像,并在应用程序打开时缓存图像。

我想知道的是,是否有任何内置方法可以让我将图像保存在设备上,并在没有互联网的情况下在更多会话中使用它。我知道我可以下载图像并手动将其保存到设备中,但我想知道是否已经有内置功能。<​​/ p>

3 个答案:

答案 0 :(得分:0)

通过会话,我假设您的意思是应用程序关闭(退出)并稍后重新打开?如果是这样的话,那么没有任何东西可以为你做到这一点,你将不得不将它存储在本地的某个地方。

答案 1 :(得分:0)

有几个库可用 试试SDWebImage

这个想法很简单

Imageview从图像缓存管理器中请求来自URL的图像,管理器提供图像(如果它具有或从服务器下载),然后在本地保存缓存时间段并提供图像。

答案 2 :(得分:0)

您可以拥有自己的API,看起来像这样,并处理下载并将图像保存到磁盘:

+ (void)getImageForId:(NSString *)idString completionBlock:(void (^)(UIImage *image))completionBlock
{
    // Code to load the Image from the disk.
    UIImage *cachedImage = [self.cache objectForKey: idString];

    if (cachedImage) {
        completionBlock(cachedImage);
    } else {
        // Your code to download the image again
        // Save the image to the disk
        // return the image
    }
}