質問の結果としてあなたが望むものを得ることはできないと思います。 -[NSFetchRequest setReturnsDistinctObject:]
を使用すると、一意のNSDate値を持つ結果のみを返すことができますが、曜日のみに関心があるため運が悪い可能性があります。
ただし、エンティティに曜日を整数として格納し、それを検索することができます。
また、すべてのセッションのエンティティをフェッチして、(結果の配列は、あなたのフェッチされたすべてのセッションを含む配列である)そこから曜日の辞書構築することができ:
// 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];
を