2012-06-21 68 views
0

是否有可能在覈心數據中使用日期屬性中的星期幾使用謂詞?如何在覈心數據中按星期選擇

例如在SQL中有DAYOFWEEK()函數。

我想要做的是獲得按星期幾分組的每個對象具有樂譜屬性和日期屬性的平均分數。

我已經在分組部分得到了我的頭,我只是無法找到任何信息在星期幾部分。

+0

在我剛剛與添加整型字段的實體存儲星期就結束。這使我能夠實現我需要做的事情。 – Zoran

回答

0

您需要爲核心數據實體添加一個瞬態屬性。然後在實體(NSManagedObject)的實現文件中,您將編寫自定義代碼。

在頭文件:

@property (readonly) NSString *weekDayText; 
@property (readonly) NSInteger *weekDay; // use the number for sorting 

在實現文件:

- (NSInteger)weekDay { 
    // get the date from attribute 
    // you declared in the header file also 
    NSDate *event = self.scoreDate; 

    // do some kind of test to make sure it's not null 

    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

    NSDateComponents *weekdayComponents =[gregorian components:NSWeekdayCalendarUnit fromDate:event]; 

    NSInteger day = [weekdayComponents weekday]; 
    // weekday 1 = Sunday for Gregorian calendar 

    [gregorian release]; 

    return day; 
} 

- (NSString *)weekDayText { 
    NSInteger day = self.weekDay; 
    // now you would use some kind of locale to return the proper string 
    // for each language 
    NSString *text = .... // need to implement 

    return text; 
}