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

the*_*ong 4 core-data nsfilewrapper ios icloud

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

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

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

  1. 对于每张单独的照片,请使用NSFileWrapper(包含实际图像和缩略图),或
  2. 使用顶级NSFileWrapper,并为每张照片放入所有NSFileWrappers
  3. 与#2类似,但只是将所有照片/缩略图直接放在顶级NSFileWrapper中

哪种方法更适合与iCloud同步照片?还有更好的方法吗?

Jod*_*ins 5

在这种情况下,最好的方法是让Core Data决定将它放在何处.

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

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