Значение компонента UIDatePicker

У меня есть UIDatePicker, который показывает (например, 13 апреля 2010 г.). Мне нужно получить значение каждого компонента и установить его как целое число, чтобы его можно было поместить в три отдельных ключа в Plist.

MyMonth  Number  04
MyDay    Number  13
MyYear   Number  2010

Я могу установить текстовую метку, используя:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
dateLabel.text = [NSString stringWithFormat:@"%@",
                                           df stringFromDate:datePkr.date]];
[df release];

Но мне просто нужно преобразовать каждое значение компонента в целое число. Было бы проще создать UIPickerView с массивом дат и сделать это таким образом?


person WrightsCS    schedule 13.04.2010    source источник


Ответы (2)


Вы знаете, что в plist может храниться NSDate.

Чтобы получить компонент из средства выбора даты, сгенерируйте объект NSDateComponents из календаря с помощью _ 1_:

NSDateComponents* comps = [datePkr.calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit)
                                              fromDate:datePkr.date];
int myYear = [comps year];
int myMonth = [comps month];
int myDay = [comps day];
person kennytm    schedule 13.04.2010

Забудьте о программе форматирования и просто используйте NSDateComponents - онлайн-документы дают хороший пример получения целочисленных компонентов даты из NSDate.

person Paul Lynch    schedule 13.04.2010