有没有办法将KML文件存储在Core数据中

时间:2017-06-29 05:13:10

标签: ios core-data

有没有办法将KML文件存储在Core数据中,因为我必须发送带有一些参数的KML文件,我必须保存KML文件以及这些参数有没有办法将KML文件存储在Core Data中。  在此先感谢

1 个答案:

答案 0 :(得分:2)

有三种可能的解决方案:

1)将文件保存到文档目录中的文件系统。将相对路径存储在核心数据中。确保存储相对路径而不是绝对路径,因为绝对路径可能会更改。这允许您存储有关每个文件的元数据,但保存和读取这些文件与核心数据分开

2)将文件作为二进制数据存储在核心数据中。在您的核心数据模型中,可以选择将属性设置为Store in External Record File - 您应该设置它。此外,如果您不想在每次访问存储在实体中的其他元数据时将文件加载到内存中,那么应该将二进制数据存储在与元数据实体关系的单独实体中

3)您还可以丢弃KML并将其中的所有信息存储在具有自定义实体和对象的核心数据中。如果要根据KML文件内部的数据对其进行搜索或排序,则必须对其进行解析并将至少部分信息存储在核心数据中。 (当你说“某些参数”时,也许这就是你的意图?)。对于某些应用程序,它可能是解析整个文件并将所有数据放入核心数据并丢弃文件的最佳方法。这取决于您的应用程序。

我建议采用方法1.