iOS中的简单只读数据存储(易于编辑和可视化)

时间:2015-04-03 20:18:31

标签: ios core-data nskeyedarchiver

我之前在我的应用中使用了存档,用户默认设置和一些核心数据,但我遇到了墙壁问题:我当前场景的最佳方法。我有一个应用程序需要在每次使用之前从资源文件中实例化一些对象。其中一个对象的示例可以是" MathQuestion"具有以下属性的对象:

  • questionID(Int) - 2341
  • questionText(String) - " _的平方根是什么?"
  • questionVariable(Float) - " 4"
  • correctAnswer(返回Float的块/闭包) - " {return sqrt(value)}"。

理想情况下,我只是拥有类似电子表格的内容,其中包含每个属性的列和每个不同问题的行。这样,我真的能够可视化所有数据并在开发过程中快速更改。

我的应用程序使用Parse,这非常适合可视化和轻松编辑值,但对于这种情况,我宁愿资源保留在设备而不是Parse服务器上。到目前为止,我一直在考虑使用Core Data,但是(这可能是我对CD的经验不足),我不知道有什么方法可以手动编辑数据 - 而且似乎对于什么来说可能有点过头了我还在寻找。 (我基本上只需要一种上传和解析CSV的方法!)欢迎任何建议!

1 个答案:

答案 0 :(得分:1)

我仍然会推荐Core Data。它只是存储和检索数据的最有效和可扩展的机制。

当我在您的工作场景中工作时,我经常做的是使用电子表格,我可以方便地编辑数据。您可以编辑已包含在目标中的CSV版本。 (如果这对您不起作用,您也可以将粘贴复制到Xcode中的单独CSV文件中。)

在每次启动时,您只需删除数据存储(在创建NSFileManager时使用NSPersistentStoreCoordinator)。然后调用一个读取CSV的方法并将其存储在Core Data中。

完成开发后,您只需保留sqlite文件(您可以将其包含在捆绑包中并将其复制,或在应用程序第一次运行时从CSV重新生成)。