4

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

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

使用这种方法,当使用 UIDocument 将照片存储在文件系统中(在 Documents 文件夹下)时,推荐的方法是什么?我想过:

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

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

4

1 回答 1

5

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

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

就这样。如果 Core Data 需要使用外部存储,它会这样做——你既不知道也不关心它的决定。

于 2012-09-15T14:00:28.620 回答