【发布时间】:2011-02-21 02:17:29
【问题描述】:
我使用Core Data将图像文件的URL路径存储在我的文档中,如何将它们都备份到mac / PC,我通过iTune将sqlite文件和图像复制出来,当我将它们复制回iPhone,sqlite似乎没问题,但图像没有出现。我认为路径已经改变。
我能做什么?
【问题讨论】:
我使用Core Data将图像文件的URL路径存储在我的文档中,如何将它们都备份到mac / PC,我通过iTune将sqlite文件和图像复制出来,当我将它们复制回iPhone,sqlite似乎没问题,但图像没有出现。我认为路径已经改变。
我能做什么?
【问题讨论】:
我做过类似的事情。有两件事是使这种架构发挥作用的关键。
文件系统上的相对位置
我将所有图像存储在一个名为“Images”的子目录中,该子目录与 Core Data 存储文件位于同一目录中。例如
父目录/ --> MyCoreDataStore.sql --> 图片/ -----> SomeImage1.png -----> SomeImage2.png本质上,我将应用程序的数据视为一个文件包:一个包含多个相关文件的目录,这些文件共同构成应用程序数据或数据文档。
相对图片网址
图像的 URL(或路径)必须在运行时构建。 Core Data 存储保存到每个图像位置的相对路径/URL。该位置相对于 Core Data 存储文件的位置。您的应用始终知道 Core Data 存储的完整路径/URL。
我在需要时使用 Core Data 存储文件的父目录和 Core Data db 中保存的相对图像路径来构建图像位置的完整路径。
【讨论】: