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

Posted

技术标签:

【中文标题】获取并本地过滤 NSArray 或多次执行 fetchRequest【英文标题】:Fetch and locally filter NSArray or execute fetchRequest multiple times 【发布时间】:2016-01-20 12:04:27 【问题描述】:

我需要数一下。满足特定标准的核心数据集合中的对象。

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

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

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

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

问题是哪个解决方案最快且占用内存最少,因为这仅用于检测目的,并且在应用程序中对于@而言并不重要987654321@

反问:如果是 (1) - 过滤数组的最佳方法是什么?手动循环和计数或NSPredicate

PS:

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

b.收藏量很小 - 最多 50 个

【问题讨论】:

为什么不能让核心数据为你做所有的工作?您要回答的实体、关系和确切问题是什么? 【参考方案1】:

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

但是,这并不总是正确的。如果您的个人获取请求的数量将包含许多相同的员工数据集,其他获取请求也会返回,那么它甚至可能是相反的。但是,当您为部门取货时,情况并非如此。

对于一个小系列,无论如何它可能没有太大区别。

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

【讨论】:

以上是关于获取并本地过滤 NSArray 或多次执行 fetchRequest的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSPredicate 过滤以数字或符号开头的字符串到 NSArray

在 Objective-C 中将 NSArray 过滤成一个新的 NSArray

获取过滤值的字典键

react-native 获取异步/等待响应过滤

我总是从 CoreData 获取 NSArray 吗?

多次响应实时数据获取