我的数据应该如何存储? - 斯威夫特

时间:2018-02-16 16:29:48

标签: ios

也许这是一个非常基本的问题,但我一直在努力寻找合适的答案。我的应用程序将包含虚构角色列表。每个角色都有一个名字,一年的释放,一个唯一的身份证号码和一个配件/武器。

用户将无法编辑,添加或删除字符。将有大约1500个条目。每个表视图单元格将说明单击的字符名称,单击该名称将转换为包含所有信息的视图控制器。

我的问题是如何将这些信息放入我的应用程序,然后可以用来填充表格视图?我尝试使用可编码和可解码但这显着减慢了我的应用程序。我考虑将信息添加到plist中,但我仍然不知道这是否是最好的方法。

4 个答案:

答案 0 :(得分:0)

我建议核心日期,苹果已经改进了很多, 如果您今天有1500个参赛作品,您可能在不久的将来有3000个参赛作品?

对我而言,其中一个优点是谓词, 您也可以将您的核心数据与您的tableview链接:)

答案 1 :(得分:0)

Core Data是一个选项,就像Realm这样的持久存储框架。这两个方面的优点是查询可能性,如果您使用舒适的谓词,Core Data可能会更好。当你改变你的数据模型时,两者的缺点都在处理迁移问题。

在您的情况下,如果您只是将此信息显示为只读且不需要强查询,排序功能,那么您只需从捆绑包中的JSON文件加载此数据即可。

答案 2 :(得分:0)

您可以创建自定义JSON并使用它。但是@zheck建议如果在应用程序中包含数据库组件会更好。这样做有很多原因。

  1. 可扩展性:您的数据可能会随着时间的推移而增加
  2. 灵活性:数据格式可能会发生变化
  3. 易于阅读和易于编写:您可能需要更新数据
  4. 这个名单还在继续。根据您的要求,有多种数据库解决方案可供选择。虽然核心数据是一个非常强大的平台领域,但firebase类型的数据库解决方案可以提供更多的灵活性和功能。

答案 3 :(得分:0)

使用core-data.Core Data为您管理保存和撤消功能。它有一个持久存储,可跟踪更改,并可以任意次数自动刷新到磁盘。 核心数据和相关类提供了简单的方法,使您的实体进入 UITableViews ,如NSFetchedResultsController