2012-07-21 59 views
4

我正在尋找到核心數據的高級部分。我知道它不是SQL,但有一些限制,但是,如何將下面的代碼翻譯成NSPredicate以便在提取請求中應用?來自核心數據的NSPredicate通過對象ID選擇(可能總結)

Product* p = self.product; //this is a managed object 
double vol=0; 
for (PlanningItem* pi in self.planitems) { 
if (pi.product==p) 
    vol+=pi.volume; 
  1. 我想獲取具有數p作爲其產品的所有計劃項目。
  2. 接下來,我想總結該集合的所有卷。

如何在NSPredicate的提取請求中執行1操作? 我可以同時做2次嗎?

我在問NSPredicate的字符串。我有能力自己構建Fetchrequest。

Tx!

回答

11
// Create the predicate 
NSPredicate *productPredicate = 
    [NSPredicate predicateWithFormat:@"(product == %@)", product]; 

// Apply the predicate to your FetchRequest 
[fetchRequest setPredicate:productPredicate]; 
+0

我的第一印象是%@將產品擠壓成一個字符串,而不是一個對象ID。但它像一個魅力 - tx。 – Vincent 2012-07-22 01:03:02

相關問題