2012-08-22 49 views
0

我能够从服务器获取数据并显示在UITableView上,它工作正常。但是,当我转到另一个选项卡并返回到相同的选项卡时,它会向服务器调用数据。我想从服务器获取本地数据。 请给我你的想法。 谢谢!如何将图像存储在本地供以后使用iphone

+0

要永久存储到设备或只缓存图像的某个时候像1周,2周 – Hiren

回答

1

你必须在设备上存储的文件,这是可能在几个方面:

  1. Store中的应用程序文件,其文件目录
  2. Store中应用程序的文件,它的图书馆/缓存文件夹
  3. Store中应用程序的库/文件夹中的文件

有每个选项的几个方面的考虑:

  1. 存储在Documents文件夹中的文件默认由iCloud备份。你真的必须考虑,如果这是必要的,因为你正在吃掉用户的iCloud存储空间(他/她可能会付钱)。
  2. 将文件存储在Caches文件夹中是一种好方法,但如果用户磁盘空间不足(因此名称为Cache),则可能会由iOS删除它们。
  3. 只要应用程序已安装,将文件存储在设备上的另一个(手动创建的)文件夹中将使它们保持不变。没有iCloud云备份或iOS的

没有去除,得到特定文件夹的位置是可以做到用:

[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 

,你必须更换由NSLibraryDirectory NSDocumentDirectory当你想NSURL到库文件夹。

存储数据就像创建指向要存储数据的位置的NSURL一样简单,然后在要存储的NSData上调用writeToURL:atomically:方法。

将UIImage转换为NSData可以使用UIImageJPEGRepresentationUIImagePNGRepresentation完成。

0

我宁愿使用HJCache库临时存储图像。

以下是实现HJCache开源库的原因。

  1. 在iOS应用程序中轻松使用异步加载的图像。
  2. 让您轻松使用共享文件缓存。
  3. 根据Cocoa规范,使内存管理“正常工作”。
  4. 支持查看图像的典型案例,例如滚动浏览显示高音扬声器配置文件图片的推文列表,浏览通过网络加载的相册。
  5. 允许库也用于其他类型的数据。

更多细节和教程参观githubauthor博客

相关问题