2010-04-12 97 views
0

很多有關NSDates的信息,但我還沒有找到明確的解決方案。核心數據NSDate搜索獨特的日子和排序

我有一個Event實體的列表,每個實體可能有很多EventSessionTime s。

Event < --- >>EventSessionTime

在1個表視圖我希望顯示有Events,在另一個表視圖我想顯示在某一天的事件幾天的唯一列表(由排序時間)。

爲了實現這一目標,我目前有2個NSDates - 一天和一次 - 以及一些過於複雜的搜索/排序。我想刪除這些冗餘信息。

考慮到這一點,我怎麼能:

1)找出所有UNIQUE天的事件,沒有關於具體時間

2)找到在某一天的所有事件的關注(重複罰款這裏)

關於如何更好地實現這一目標的任何提示都會很棒。

謝謝。

回答

2

我現在有以下關係。還有冗餘日期信息..

Event < --- >>EventSessionTime < < - >EventDay

1)尋找與事件都是唯一的日子裏,沒有關於具體時間

我關注可以創建我知道時間的具體日期。我的應用程序的本地化意味着我可以安全地做到這一點。

... 
[NSEntityDescription entityForName:@"EventSessionTime" inManagedObjectContext:self.managedObjectContext]; 
... 
NSArray *res = [managedObjectContext executeFetchRequest:fetchRequest error:&error]; 
[self myResultArray:[res valueForKeyPath:@"@distinctUnionOfObjects.eventDay.day"]]; 

您可以推斷出我的屬性和關係名稱。

2)找到在某一天的所有事件(重複罰款這裏)

我用下面的謂詞來找到與指定日的所有事件。它不返回重複項目

[NSPredicate predicateWithFormat: @"(SUBQUERY(eventTime, $x, $x.eventDay.day == %@)[email protected] > 0)", <the day selected from the previous list>];