2013-07-03 3 views
1

Как получить все месяцы года в списке для UITableView. Я хочу получить все месяцы года в массиве, чтобы i cxan отображал это в виде таблицы. Я сделал этот путь для получения даты недели.Как получить все месяцы года в списке

NSCalendar* calendar = [NSCalendar currentCalendar];// Init calendar 
NSDateComponents* comps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate: date]; // Get necessary date components 

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, dd"]; 
// Week days change from 1 to 7, Sunday is the 1st, Saturday - the last one. 
for (int i = 1; i <= 7; i++){ 
    [comps setWeekday:i]; 
    NSDate *tDate = [calendar dateFromComponents:comps]; 
    // NSString *day=[dateFormatter stringFromDate:tDate]; 
    [self.mArrDates addObject:tDate]; 

} 
NSLog(@"dates for week%@", self.mArrDates); 
+0

Что этот код имеет отношение к массиву месяца (имена предположительно)? – Wain

+0

Хотите месяцы или недели? – CarlJ

+0

@ Прочтите этот код, который я использовал для отображения дат недели. что это под вопросом. –

ответ

3

Просто используйте:

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; 
myArray = [df monthSymbols]; 

Вы также можете использовать:

– shortMonthSymbols 
– veryShortMonthSymbols 
– shortStandaloneMonthSymbols 

Найти всю информацию здесь:

NSdateFormatter Guide

Чтобы получить текущий Yea r, используйте это:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy"]; 
NSString *yearString = [formatter stringFromDate:[NSDate date]]; 
[formatter release]; 

Если вы хотите еще один год, просто используйте другой NSDate.

+0

Зачем нам нужен цикл? NSDateFormatter возвращает символы месяца в массиве - (NSArray *) monthSymbols Почему мы не можем создать ссылку на этот массив? –

+0

Совершенно верно, я перепутал, исправил! –

+0

@AntonioMG Это правильный человек, но мне нужен и текущий год, если мне нужны только имена, то я мог бы использовать статически и поместив имена в массив. ex: Январь 2013 года. –

Смежные вопросы