从网络保存用户照片和照片

时间:2015-01-12 09:52:17

标签: ios objective-c alasset

所以我对图像有这种情况。在其中一个应用程序阶段,我从他的照片库中获取所有用户照片。我把它们作为ALAsset's。我让他选择他想要的照片。然后我将他选择的照片保存到应用程序目录,作为带有HIGH_前缀的全尺寸照片和带有LOW_前缀的照片的缩略图。我需要这个,因为照片有一些属性,如时间等。我将这些属性保存到SQL数据库,其中一个照片名称字段以HIGH_或LOW_开头。当我需要获取照片时,我从db获取属性然后执行[UIImage imageWithContentsOfFile:photoPath]。有人能告诉我如何更有效地做到这一点,因为写这样的照片需要一些时间。在iPhone 4上,我有时甚至会收到内存警告。另一个问题是,我应该如何保存从网上获取的照片?

1 个答案:

答案 0 :(得分:0)

我坚持认为,而不是使用核心数据,Apple写道,

  

但是,如果您能够将BLOB作为资源存储在文件系统上,并维护这些资源的链接(例如URL或路径),那就更好了。然后,您可以在必要时加载BLOB。

所以你正确地做了,但也许你应该检查转换。如果收到警告,请确保从内存中删除未使用的图像

来自文档:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdPerformance.html 在“大数据对象(BLOB)”部分下

使用可转换的另一种方法: Which way to store data(image)? NSData, String or Transformable

事实上,至少可以转换核心数据: How should I store UIImages within my Core Data database?