С https://discussions.apple.com/thread/1700102?start=0&tstart=0 и ссылка Apple NSCalendar:
Как насчет использования чего-то подобного -
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:1965]; // Year of the calendar month
[comps setMonth:1]; // Month
[comps setDay:6]; // Any day
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
Затем, когда у вас есть NSDate, сделайте следующее:
NSDate * testDate = [NSDate date];
NSString * weekdayString = [testDate descriptionWithCalendarFormat:@"%A" timeZone:nil
locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSLog(@"Day of the week: %@", weekdayString);
// weekdayString should look like "Monday", etc.
Итак, вы можете перебирать дни месяца до;
[weekdayString isEqualToString:@"Monday"] // or your desired day
А затем просто добавьте 7 дней, чтобы получить остальные 4 или около того даты.
Возможно, это не самое красивое решение, но оно должно работать.