iOs App 1000+数据条目CoreData还是简单数组?

时间:2013-12-04 21:53:10

标签: ios arrays core-data

我有大约1000多个数据条目(数字,名称,年龄,颜色)。在第一个视图中,用户可以输入一个数字,它将在第二个视图上输出相应的条目。

我是否必须使用CoreData,或者使用简单数组来存储数据是一个很好的解决方案吗?

数组是否使用了大量内存?数组是否会变慢?

2 个答案:

答案 0 :(得分:3)

如果有1000多个字符串以及其他数据,您可能会很快遇到内存问题。此外,如果您不使用Core Data提供的增量存储,则更改数据的最小单位将需要重写整个列表。

核心数据将是我的选择,但学习曲线有些陡峭。这并不是那么困难,但需要一段时间才能适应。 NSFetchedResultsController将确保良好的性能和较低的内存占用。

但是,如果持久性不是真正的问题,并且您实际上计算数据(例如,基于初始数字),您可能希望使用不同的方案。例如,在标准UITableView中,您可以根据索引路径计算要在datasource方法中显示 ad hoc 的数据 - 然后您只需要计算可见细胞的数据。根据数据模型的需求,滚动速度非常快时可能会出现一些性能问题 - 这很难预测。

答案 1 :(得分:0)

为什么要使用CoreData而不是简单的NSArray,有不同的考虑因素。

问自己一些问题:

  • 您是否需要保留数据?
  • 您是否需要一次性显示所有数据?
  • 您是否对数据执行搜索查询?

根据您的答案,您可以选择CoreData或NSArray。将所有数据保存在内存中仍然很昂贵,无论如何都应该避免使用它。在我看来,我会尝试使用CoreData,尽管它会在第一行产生一些开销。