2012-08-23 69 views
2

使用NSFetchedResultsController和NSFetchRequest可以設置一個查詢,該查詢返回每個屬性中的最高值。NSFetchRequest,查詢多個屬性?

例如:

Entity_001 A=F B=27 C=57 
Entity_002 A=G B=23 C=98 
Entity_003 A=X B=21 C=54 
Entity_004 A=K B=11 C=27 
Entity_005 A=R B=16 C=15 

結果:

Entity_003 A=X B=21 C=54 // Biggest A 
Entity_001 A=F B=27 C=57 // Biggest B 
Entity_002 A=G B=23 C=98 // Biggest C 

基本上我有一個數據集,我需要挑選出「最小」,「最快」和「最重」我可以手動執行而不使用NSFetchedResultsController,或者我想我可以使用3個NSFetchedResultsControllers並嘗試將結果網格化爲單個數據源。任何想法將非常感激...

回答

3

我會做3個不同的獲取請求,以返回每個特定請求的最高值,然後將每個特定獲取請求結果的對象ID合併到一個數組中,並執行NSFetchedResultsController獲取(從通知中獲取更改)一個提取請求,用於查找數組內對象的ID。基本上,它是4次取。三個可以在後臺完成,一個用於NSFetchedResultsController實例,它將在主線程中完成。

+1

非常感謝先生,正是我以後的事情。 – fuzzygoat

1

你試過看看KeyValue Coding

+0

這看起來很有前途,但我是否正確地認爲這直接在託管對象上下文上工作,而不是通過NSFetchedResultsController? – fuzzygoat