Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 解除popover后如何确定从UIDatePicker中选择的日期?_Objective C_Xcode_Uidatepicker_Uistoryboard - Fatal编程技术网

Objective c 解除popover后如何确定从UIDatePicker中选择的日期?

Objective c 解除popover后如何确定从UIDatePicker中选择的日期?,objective-c,xcode,uidatepicker,uistoryboard,Objective C,Xcode,Uidatepicker,Uistoryboard,我目前有一个popoverDatePickerViewController,它是我在storyboard中创建的,它有一个UIDatePicker。我希望能够关闭popover并将日期发送到我的原始视图ViewController,但我不确定如何执行此操作。我知道如何从UIDatePicker获取日期,我只是不知道当popover被解除时如何获取数据 我正在ViewController中尝试此操作,但从未显示NSLog输出 - (void) popoverControllerDidDismiss

我目前有一个popover
DatePickerViewController
,它是我在storyboard中创建的,它有一个UIDatePicker。我希望能够关闭popover并将日期发送到我的原始视图
ViewController
,但我不确定如何执行此操作。我知道如何从UIDatePicker获取日期,我只是不知道当popover被解除时如何获取数据

我正在
ViewController
中尝试此操作,但从未显示NSLog输出

- (void) popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
    NSDate *selectedDate = ((DatePickerViewController *) popoverController.contentViewController).datePicker.date;
    NSCalendar * calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:selectedDate];
    int selectedYear = [dateComponents year];
    int selectedMonth = [dateComponents month];
    int selectedDay = [dateComponents day];

    self.dateLabel.text = [NSString stringWithFormat:@"%d/%d/%d",selectedMonth,selectedDay,selectedYear];

    NSLog(@"hello world"); // never shows up
}

我必须在prepareforsgue中设置delegate=self:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"toDatePicker"]) {
    UIStoryboardPopoverSegue *popoverSegue;
    popoverSegue = (UIStoryboardPopoverSegue *)segue;

    UIPopoverController *popoverController;
    popoverController = popoverSegue.popoverController;
    popoverController.delegate=self;
}
}

我已将
ViewController
设置为
UIPopoverControllerDelegate