如何在缓存中存储图像?

时间:2012-02-15 07:52:20

标签: iphone

在iphone中我要求在缓存中存储图像。

但我如何将其存储在缓存中。

我知道缓存的文件夹路径。这是我必须在该文件夹中写入我的图像以进行缓存的唯一方法吗?

我想知道其他任何方式。或者这是正确的方法吗? 请帮帮我。

2 个答案:

答案 0 :(得分:2)

您可以使用NSArchiverNSUnarchiver以这种方式将数据存储在本地磁盘上:

//在缓存中设置您的图片

NSData *imgData = [NSKeyedArchiver archivedDataWithRootObject:myImage];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:imgData forKey:@"img_01"];
[defaults synchronize];

//从缓存中获取您的图片

NSData *imgData = [[NSUserDefaults standardUserDefaults] objectForKey:@"img_01"];
myImage = [NSKeyedUnarchiver unarchiveObjectWithData:imgData];

在这里引用苹果:http://goo.gl/XH2o2

希望这会有所帮助。

答案 1 :(得分:0)

使用此链接..

  

http://www.makebetterthings.com/iphone/image-caching-in-iphone-sdk/

编辑


使用此代码获取文件路径并获取特定文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];