2010-04-12 99 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>];