Я не думаю, что вы можете получить то, что вы хотите, в результате запроса. Вы можете использовать -[NSFetchRequest setReturnsDistinctObject:]
, чтобы возвращать только результаты с уникальными значениями NSDate, но поскольку вас интересует только день недели, вам может не повезти.
Однако вы можете сохранить день недели в вашей сущности в виде целого числа, а затем искать его.
Вы также можете извлечь все сущности Sessions, а затем создать оттуда словарь дней недели (где массив результатов - это массив, содержащий все ваши выбранные сеансы):
// This date formatter will return a string with the full weekday, i.e. "Monday"
NSDateFormatter *dfText = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEEE"];
// This date formatter will return a string with the number of the weekday, i.e. "1"
NSDateFormatter *dfNumber = [[NSDateFormatter alloc] init];
[df setDateFormat:@"c"];
NSMutableDictionary *weekdays = [NSMutableDictionary dictionary];
for (Session *curSession in resultsArray) {
NSString *weekdayNumber = [dfNumber stringFromDate:curSession.Date];
if (![weekdays objectForKey:weekdayNumber]) {
[weekdays setObject:[dfText stringFromDate:curSession.Date] forKey:weekdayNumber];
}
}
[dfText release];
[dfNumber release];