Сбой в NSDateComponents weekOfYear - PullRequest
       5

Сбой в NSDateComponents weekOfYear

2 голосов
/ 19 января 2012

Я пытаюсь получить номер недели в году из NSDate с этим кодом:

int which = NSYearCalendarUnit | NSMonthCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekOfYearCalendarUnit | NSQuarterCalendarUnit;
NSDate* date= [NSDate date];
NSDateComponents* comps= [[NSCalendar currentCalendar] components:which fromDate:date];

today.weekNumber= comps.weekOfYear;

Однако по какой-то причине происходит сбой и утверждение:

reason: -[NSDateComponents weekOfYear]: unrecognized selector sent to instance

Другие компоненты работают нормально, когда я раскомментирую часть номера недели:

int which = NSYearCalendarUnit | NSMonthCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekOfYearCalendarUnit | NSQuarterCalendarUnit;
NSDate* date= [NSDate date];
NSDateComponents* comps= [[NSCalendar currentCalendar] components:which fromDate:date];

//   today.weekNumber= comps.weekOfYear;
today.month= comps.month;
today.year= comps.year;
today.quarter= comps.quarter;
today.hour= comps.hour;
today.minute= comps.minute;
today.second= comps.second; 

Согласно документам, NSDateComponents должно иметь свойство под названием weekOfYear, не так ли?

Я в замешательстве, правда.

1 Ответ

2 голосов
/ 19 января 2012

-weekOfYear метод доступен в NSDateComponents, начиная с iOS 5.0, и поэтому, если вы пытаетесь использовать этот метод в более ранних версиях ОС, что приведет к падению.

...