-1

存储下载图像的最佳方式是什么?从那里我应该可以在我的应用程序的任何地方使用它们,并且在任何情况下都不应该删除图像(比如空间不足)。请提供任何帮助。

4

2 回答 2

0

根据标准,App 相关文件(数据)只需要存储在文档目录中。一旦图像获得下载,该图像就存储在文档目录中,并为图像识别维护唯一的名称。

-(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]];
于 2013-07-03T09:06:04.590 回答
-1

看看这个图像缓存库。用过好几次了,真的好用

于 2013-07-03T08:56:37.040 回答