数据库创建/管理策略:CoreData或文件

时间:2015-01-17 09:57:16

标签: database file swift core-data ios8

我需要将数据(精灵属性列表)导入到用Swift编写的iOS8应用程序中。数据包含一个20列和大约10000行的excel类型文件(因此一个表有20个字段,数据库有10000个记录,字段可以是num,string或boolean)。有些行(大多数行)不会对每列有价值。在开发阶段必须非常定期地进行此导入,以更新(事实上全部替换)数据。

我不需要对应用中的这组数据进行任何更改,我需要避免让用户触发此导入。我只需要选择它的小块(1到100)并将它们加载到一个字典数组中,其中键将是列标签。但我需要能够随时访问完整的数据集(不仅仅是应用程序启动时的一个块,而不是之后的其他内容)。

数据不能被硬编码并直接管理到Xcode中,因为它们是由创建我需要导入的平面文件的关系数据库生成的。

我想知道最好的策略是什么(因为我是Swift和iOS的新手,我想直接学习最好的方法):

  • 我应该使用Core Data并将所有内容加载到一个实体中,然后在需要时获取我的数据子集吗?
  • 我是否应该使用我在某处包含的文本文件(或任何其他格式)并在需要时从中读取?
  • 或者还有另一个聪明而美丽的选择吗?

1 个答案:

答案 0 :(得分:0)

在尝试了几个选项之后,在我的情况下,混合使用CoreData + csv文件是这种简单数据库管理的最佳答案。

  • 我在关系数据库中管理我的数据(在我的情况下为4D)
  • 我已将关系数据库结构复制到CoreData
  • 我以CSV格式导出每个文件,并借助此SwiftCSV工具将其加载到CoreData中(https://github.com/naoty/SwiftCSV