iOS应用程序,包含核心数据,照片和iCloud的

时间:2012-09-15 13:54:25

标签: ios core-data icloud nsfilewrapper

我正在开发一个使用核心数据(使用UIManagedDocument)来存储我想与iCloud同步的用户生成数据的应用程序。我还想在应用程序中同步用户使用相机拍摄的照片。

我读到将实际照片存储在核心数据中并不是一个好主意;相反,最好将照片存储在文件系统中,并将fileURL放入核心数据中。

使用此方法时,使用UIDocument将照片存储在文件系统中(在“文档”文件夹下)时,建议的方法是什么? 我想过:

  1. 对于每张单独的照片,请使用NSFileWrapper(包含 实际图像和缩略图)或
  2. 使用顶级NSFileWrapper,并为每张照片添加所有NSFileWrappers
  3. 与#2类似,但只是将所有照片/缩略图直接放在顶级NSFileWrapper中
  4. 哪种方法更适合与iCloud同步照片?还有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

在这种情况下,最好的方法是让Core Data决定把它放在哪里。

打开您的Core Data模型GUI - 单击将保存二进制数据的属性 - 向右看 - 有一个复选框,指示Core Data是否应该使用外部存储。选择它。

这就是全部。如果核心数据需要使用外部存储,它将会这样做 - 你既不知道也不关心它决定什么。