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

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

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

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

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

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

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

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

PS:

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

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

【问题讨论】:

  • 为什么不能让核心数据为你做所有的工作?您要回答的实体、关系和确切问题是什么?

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2018-05-26
    • 2021-12-02
    相关资源
    最近更新 更多