我想知道两种不同的数据过滤方法之间的性能差异。以下是我正在使用的内容:
我认为,这里有两种可能的方法:
我知道有些因素会影响答案(数据集的大小,分段控件的使用频率),我只是想知道两者之间是否存在整体最佳实践。
答案 0 :(得分:2)
两种方法之间存在权衡取舍,最佳选择取决于差异对您的重要程度。对于每种情况,没有一种方法是最好的做法。
在一个阵列中预先加载所有内容可能会:
每次进行新的提取可能会:
因素的重要程度取决于您的数据和应用。如果您有批次数据,那么内存使用可能很重要(获取实体类型的每个实例都是一种简单的方法来消耗内存使用)。速度问题取决于你的应用程序在同一时间做了什么,坦率地说,这两个选项是否足够慢以引起明显的延迟。如果您的数据集很小,那么您使用哪种方法可能没什么区别。
答案 1 :(得分:2)
我不认为会有任何用户明显的速度差异。
因此,我认为这些是最佳做法:
由此我推断出适用于当前问题的三点建议:
要将这些要点合并到一个建议中,最好使用课程NSFetchedResultsController
在表格中显示核心数据,因为它是专门为此目的而设计的:
您可以通过在Xcode(4.4或更高版本)中创建基于Core Data的新项目来播放它的示例。它更接近你的第二个方法。