【发布时间】:2023-03-16 19:10:02
【问题描述】:
我使用了一个带有 UIDatePicker 的 baseViewController。我在其他 viewControllers 中使用了这个日期选择器。当我尝试获取日期时。总是前一个日期显示在日志中。这发生在每个视图控制器中。
获取日期选择器。
self.datePicker = [[[UIDatePicker alloc] init] autorelease];
self.datePicker.datePickerMode = UIDatePickerModeDate;
[self.datePicker addTarget:self action:@selector(dateValueChanged:) forControlEvents:UIControlEventValueChanged];
[self.datePicker resignFirstResponder];
使用日期选择器从文本字段中获取值。
- (IBAction)dateValueChanged:(id)sender
{
UIDatePicker *picker = (UIDatePicker *)sender;
dateSelected = [picker date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
if (self.field.tag == 101)
self.field.text = [dateFormatter stringFromDate:dateSelected];
NSLog(@"%@",dateSelected);
}
【问题讨论】:
-
请在您的第二种方法中添加断点,并检查
dateSelected的值。你在用ARC吗?这两个方法都在 asme 类中吗? -
即使在日志中我也得到了上一个日期......是的,这两种方法都在同一个类中
-
看起来日期选择器有问题。日期值更改方法正在返回上一个日期。
标签: iphone objective-c ios xcode uidatepicker