2016-01-20 56 views
0

我需要計數no。來自集合中核心數據的對象滿足一定的標準。提取並本地過濾NSArray或多次執行fetchRequest

(例如,統計不同部門的員工人數)。

有兩種解決方案,以我的問題:

  • (1)取在集合中只有一個請求以及用於使用NSPredicate

    各系數組本地過濾
  • (2)執行的多個NSFetchedRequests直接對數據

問題是WH ICH的解決方案將是最快且佔用最少的給定存儲量,這是僅供儀表目的,是在應用程序沒有重要性來講behavior/UI.

反問:如果是(1) - 這過濾數組的最佳方法是什麼?手動循環和計數或NSPredicate

P.S:

a。我知道部門的名字。 (它實際上是枚舉)

b。收集很小 - 將是最大值50

+2

爲什麼你不能要求核心數據爲你做所有的工作?你試圖回答什麼是實體,關係和精確問題? – Avi

回答

0

1是最快的並佔用大部分內存。 2將使用最少的內存,但可能需要更長的時間。

但是,這並非總是如此。如果單個提取請求的數量將包含許多與其他提取請求將返回的相同的員工數據集,那麼它甚至可能是相反的。但是,當你在爲部門取材時,事實並非如此。

對於一個小集合,它可能沒有太大的區別。

計數問題:這也取決於。但是,如果集合增長,我會爲謂詞保留以備將來使用。