如何为我的iphone应用程序备份带有图像的Core Data sqlite文件?

时间:2011-02-21 02:17:30

标签: image core-data backup

我使用Core Data在我的文档中存储图像文件的URL路径,如何将它们备份到mac / PC,我通过iTune复制sqlite文件和图像,当我将它们复制回来时iPhone,sqlite似乎没问题,但图像没有显示出来。我认为这条路已经改变了。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

我做了类似的事情。有两件事是使这种架构发挥作用的关键。

  1. 图像文件必须存储在相对于Core Data存储文件的一致位置。
  2. 存储在Core Data中的图像的URL /路径是相对的,而不是绝对的。相对于Core Data存储文件创建映像路径。
  3. 文件系统上的相对位置

    我将所有图像存储在名为“Images”的子目录中,该子目录与Core Data存储文件位于同一目录中。 E.g。

         parent directory/
         --> MyCoreDataStore.sql
         --> Images/
         -----> SomeImage1.png
         -----> SomeImage2.png
    

    基本上,我将应用程序的数据视为文件包:包含多个相关文件的目录,这些文件全部包含应用程序数据或数据文档。

    相对图片网址

    图像的URL(或路径)必须在运行时构建。 Core Data存储保存每个图像位置的相对路径/ URL。该位置相对于Core Data存储文件的位置。您的应用始终知道Core Data商店的完整路径/ URL。

    使用Core Data存储文件的父目录和Core Data db中保存的相对图像路径,在需要时构建映像位置的完整路径。