2012-01-16 60 views
0

我正在爲iOS開發應用程序,並且我無法在新的NSFetchRequest setPropertiesToGroupBy:方法中找到很多文檔。是否NSFetchRequest setPropertiesToGroupBy:返回匹配的所有實體?

我有一堆與多個實體B對象有關係的實體A對象。

我想要獲取匹配特定模式的所有實體B對象,並將它們按實體A分組。這樣我就沒有爲每個實體A單獨獲取數據庫結果。理想情況下,我可以遍歷相同的實體As組,然後將所有實體Bs與來自一個獲取請求的模式匹配。

我可以看到,setPropertiesToGroupBy:方法應該讓我通過反B-> A關係進行分組,並返回一個NSDictionaries的數組。但這是否意味着NSArray中的每個項目都對應於實體A的一個組?並且相應的NSManagedObject子類可以在NSDictionary的某處找到?

回答

1

不,它不。有兩種方法可以做到這一點:

  • 使用多個請求
  • 有一個請求,以獲得全A的實體,其中逆A-> B的關係是一組B的英寸然後包括一個NSSortDescriptor按B排序並將結果分成組。

後者可能更快,因爲內存分割可避免重複的數據庫訪問和獲取請求解析。