在iOS中存储下载的图像的最佳方式

时间:2013-07-03 08:49:26

标签: ios objective-c ios5

哪种方式可以存储下载的图像?从那里我应该能够在我的应用程序的任何地方使用它们,并且在任何情况下都不应删除图像(如低空间)。请帮忙。

2 个答案:

答案 0 :(得分:0)

根据标准,App相关文件(Data)只需存储在文档目录中。图像获取后,将图像存储在文档目录中,并保留图像识别的唯一名称。

-(NSString *)writeDataAsFile:(NSData *)imageData
{

    NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString * documentsDirectory = [paths objectAtIndex:0];
    NSString * thumbNailFilename = [NSString stringWithFormat:@"%@.png",[self GetUUID]]; // Create unique iD
    NSString * thumbNailAppFile = [documentsDirectory stringByAppendingPathComponent:thumbNailFilename];

    if ([imageData writeToFile:thumbNailAppFile atomically:YES])
    {
        return thumbNailFilename;
    }

    return nil;
}

使用此方法将图像(下载的NSData)存储在文档目录中。

从文档目录中检索图像,如下所示

UIImage *thumbnailHomeImage = [UIImage imageWithContentsOfFile:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"%@",imageName]];

答案 1 :(得分:-1)

看看这个image caching library。香港专业教育学院使用了很多次,非常有用