获取并本地过滤 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