获取并本地过滤 NSArray 或多次执行 fetchRequest
Fetch and locally filter NSArray or execute fetchRequest multiple times
我需要数数。满足特定条件的核心数据集合中的对象数。
(例如,统计不同部门的员工数量)。
我的问题有两种解决方案:
(1) 只在一个请求中获取集合并在本地过滤数组
每个部门使用 NSPredicate
(2) 直接对数据执行多个NSFetchedRequests
问题 哪个解决方案最快并且占用最少的内存,因为这 仅用于检测 目的并且没有在应用中的重要性 behavior/UI.
反问:如果是 (1) - 过滤数组的最佳方法是什么?手动循环和计数或 NSPredicate
?
P.S:
一个。我知道部门名称。 (它实际上是一个枚举)
b。集合很小 - 最多 50
1 最快,占用内存最多。
2 将使用最少的内存,但可能需要更长的时间。
然而,这并不总是正确的。如果您的个人提取请求数量将包含许多与其他提取请求相同的员工数据集 return,那么它甚至可能是相反的。但是,当您为部门招聘时,情况并非如此。
对于一个小的集合来说,这可能没什么区别。
计数问题:这也取决于。但是,我会选择谓词,因为如果集合增长,它可以保存以备将来使用。
我需要数数。满足特定条件的核心数据集合中的对象数。
(例如,统计不同部门的员工数量)。
我的问题有两种解决方案:
(1) 只在一个请求中获取集合并在本地过滤数组 每个部门使用 NSPredicate
(2) 直接对数据执行多个NSFetchedRequests
问题 哪个解决方案最快并且占用最少的内存,因为这 仅用于检测 目的并且没有在应用中的重要性 behavior/UI.
反问:如果是 (1) - 过滤数组的最佳方法是什么?手动循环和计数或 NSPredicate
?
P.S:
一个。我知道部门名称。 (它实际上是一个枚举)
b。集合很小 - 最多 50
1 最快,占用内存最多。 2 将使用最少的内存,但可能需要更长的时间。
然而,这并不总是正确的。如果您的个人提取请求数量将包含许多与其他提取请求相同的员工数据集 return,那么它甚至可能是相反的。但是,当您为部门招聘时,情况并非如此。
对于一个小的集合来说,这可能没什么区别。
计数问题:这也取决于。但是,我会选择谓词,因为如果集合增长,它可以保存以备将来使用。