2012-01-07 45 views
0

我有兩個實體:骨料和使用之核心數據

  • 發票
  • 客戶

我想通過客戶分組發票的總和。

在閱讀了一些網頁,教程和Apple文檔後,我不清楚使用Core Data的更好方法。

目前適用於我的解決方案是獲取所有客戶,併爲每個客戶再次提取僅發票金額。即使它工作完美,我不喜歡作爲一個明確的解決方案。

也許使用NSExpressionDescription會是一個更好的方法,但是我真的不能很好地理解它。

我知道核心數據不是一個數據庫,而在普通的SQL這是很容易的,但我使用的核心數據:-)

任何意見將欣賞:-)

感謝,

ps。我有Marcus Zarra核心數據書,但找不到解決方案/指導

回答

1

只要你的數據集不是太大,我建議只使用像[customer valueForKeyPath:@"@sum.invoices.amount"]之類的東西。如果您想嘗試獲得由數據庫計算出的總和(核心數據大部分時間使用SQLite作爲其後端),請查看http://iphonedevelopment.blogspot.com/2010/11/nsexpression.html

+0

valueForKeyPath與NSPredicate一起使用?在某些情況下,我想在某些日期限制@sum – mongeta 2012-01-07 11:43:47

+0

否,那麼您必須先過濾發票數組,然後應用sum函數。 – MrMage 2012-01-07 15:45:32

+0

使用您的方法有什麼好處?目前我正在爲每個客戶提取價值,並按日期過濾。 – mongeta 2012-01-07 19:31:10