获取并本地过滤NSArray或多次执行fetchRequest

时间:2016-01-20 12:04:27

标签: ios objective-c core-data nspredicate nsfetchrequest

我需要数不。来自核心数据中的集合中的对象满足某个标准。

(例如,计算不同部门的员工)。

我的问题有两种解决方案:

  • (1)仅在一个请求中获取集合并在本地过滤数组 对于使用NSPredicate的每个部门

  • (2)直接对数据执行多个NSFetchedRequests

问题是哪种解决方案最快并占用最少的内存,因为仅用于检测目的,并且在{ {1}}

反问题:如果是(1) - 这是过滤数组的最佳方法吗?手动循环和计数或behavior/UI.

P.S:

一个。部门名称是我所知道的。 (它实际上是一个枚举)

湾收集很小 - 最多50

1 个答案:

答案 0 :(得分:0)

1是最快的并占用大部分内存。 2将使用最少的内存,但可能需要更长的时间。

但是,并非总是如此。如果您的单个获取请求的数量将包含许多相同的员工数据集,其他获取请求也将返回,那么它甚至可能是相反的方式。但是当你拿到部门时,情况并非如此。

对于小型系列来说,无论如何它可能没什么区别。

计数问题:这也取决于。但是,我会选择谓词,因为如果集合增长,这将保存以供将来使用。