+ (NSString*)listDaysFromIndexSet:(NSIndexSet*)indexSet outputFormat:(int)numberOfLetters { NSArray *dayWords; switch (numberOfLetters) { case 0: dayWords = @[@"1", @"2", @"3", @"4", @"5", @"6", @"7"]; break; case 1: dayWords = @[@"Su", @"M", @"Tu", @"W", @"Th", @"F", @"Sa"]; break; case 2: dayWords = @[@"Su", @"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa"]; break; case 3: dayWords = @[@"Sun", @"Mon", @"Tue", @"Wed", @"Thu", @"Fri", @"Sat"]; break; case 4: dayWords = @[@"Sunday", @"Monday", @"Tuesday", @"Wednesday", @"Thursday", @"Friday", @"Saturday"]; break; default: break; } NSInteger currentIndex = [indexSet firstIndex]; NSMutableArray *selectedDays = [NSMutableArray array]; while (currentIndex != NSNotFound) { if (currentIndex < dayWords.count) { NSString *day = dayWords[currentIndex]; [selectedDays addObject:day]; } currentIndex = [indexSet indexGreaterThanIndex:currentIndex]; } return [selectedDays componentsJoinedByString:@", "]; }