Срив в NSDateComponents weekOfYear

Опитвам се да получа номера на седмицата от годината от 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, нали?

Объркана съм, наистина.


person user826955    schedule 19.01.2012    source източник


Отговори (1)


-weekOfYear методът е наличен в NSDateComponents, стартирайки iOS 5.0 и така, ако се опитвате да използвате този метод на по-ранни версии на операционната система, това ще доведе до срив.

person Vladimir    schedule 19.01.2012
comment
Ох! Не знаех за това. Има ли друг начин да получа weekOfYear, когато съм на iOS 4? - person user826955; 19.01.2012
comment
Проверете седмичното имущество - може би ще ви е достатъчно. Можете също да опитате да играете с NSDateFormatter, за да получите тази стойност като низ и след това да я преобразувате в число (напр. вижте дискусията тук iphonedevsdk.com/forum/iphone-sdk-development/) - person Vladimir; 19.01.2012