2011-02-15 21 views
2

選擇組說我有兩個實體:核心數據的問題 - 通過/具有最大

Entities

每個消息屬於單個MessageThread。如何獲得該線程上的所有消息線程和相應的最後一條消息?通常情況下,在SQL,我會做它:

選擇__從消息組具有的timeStamp = MAX(時間戳)

對於一個線程,我不認爲核心數據允許在@Max其謂詞。有任何想法嗎?

回答

2

這可能有點舊,但我最近有類似的問題。這裏是我的問題的解決方案:

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Message"]; 
request.predicate = [NSPredicate predicateWithFormat:@"timeStamp = [email protected]"]; 
request.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timeStamp" ascending:NO]]; 

我希望它可以幫助...

0

我永遠不會得到@max工作,我仍然期待更好的實施。

我作爲豬肉做的事情是將排序描述符設置爲按日期排序,然後使用fetchedResults中的objectAtIndex:0

+0

但爲了做到這一點,它觸發每個實例故障。或者我可以預取它,但是一切都被加載到內存中。 – jvliwanag 2011-02-15 22:44:15