これは間違っていると思いますが、基本的には Apple の目覚まし時計に似たものを作りたいと思っています。したがって、時間と分のみを表示する UIDatePicker があります。私の計画は、UIDatePicker から時間と分を取得し、アラームがその日に利用できるかどうかに応じて、現在の日付または次の日付のその時間と分に対して UILocalNotification を作成することです。したがって、ビューがロードされたときに私がやろうとしていることは次のとおりです。
[self.alarmsDatePicker addTarget:self action:@selector(datePickerDidSelect:) forControlEvents:UIControlEventValueChanged];
[self.alarmsDatePicker setDate:[NSDate date]];
// Get the current calendar
self.calendar = [NSCalendar currentCalendar];
self.dateFlags = NSHourCalendarUnit | NSMinuteCalendarUnit;
// Get the time portion of the datePicker's date
NSDateComponents *timeComponentsSelectedDate = [_calendar components:_dateFlags fromDate:self.alarmsDatePicker.date];
NSDate *timeOnlySelectedDate = [_calendar dateFromComponents:timeComponentsSelectedDate];
self.startDate = timeOnlySelectedDate;
コードをステップ実行するときに理解できないのは、datePicker が現在の時刻を取得して正しく開始することです。しかし、timeOnlySelectedDate に到達すると、日付は 2001-01-01 です。何故ですか?前もって感謝します。