关于通过Core Data将数据加载到应用程序中的一个简单问题-我已经实现了Core Data,并且该应用程序的运行几乎与开始使用它之前一样。
简而言之,当应用启动时,我将所有实体提取到Manager脚本中,该脚本将每个对象存储到不同的数组中,当应用使用这些对象时,Manager脚本会将这些数组传递给其他脚本。
我的问题是,在使用Core Data时,这似乎是一种不好的方法吗?我应该只在脚本需要它们时从实体获取实体还是从一开始就对其进行良好的“预获取”?该数据受到一定程度的限制,并且在运行时不会更改。
此外,由于我在Manager脚本中将所有实体放置在不同的数组中,因此在脚本需要完成某些操作时,我将通过谓词对这些数组进行排序/过滤。 (这意味着我从不使用带有谓词的Core Data提取,因为所有数据都已经在Manager的数组中可用)
App已经完成,只是在尝试提高性能,并通过添加Core Data进行了巨大的提升。这是我目前的最后一个问题,由于我以前从未使用过Core Data,因此我不确定答案。
谢谢
答案 0 :(得分:0)
很好。
预取存在三个主要缺点:
您说过“此数据一定程度上是有限的,并且在运行时不会更改”,因此似乎所有这些问题都不适用。
话虽如此,但我不确定在此设置中您是否真的会从核心数据中获得任何好处。总体而言,核心数据可以很好地扩展,但是您的设置不能。您可以轻松地将所有信息存储在文件中,然后在应用启动时将其全部加载到内存中。我相信您会从问题中未提及的核心数据中获得其他好处。