Iphone 使用日期选择器时获取错误的日期

Iphone 使用日期选择器时获取错误的日期,iphone,objective-c,ios,xcode,uidatepicker,Iphone,Objective C,Ios,Xcode,Uidatepicker,我使用带有UIDatePicker的baseViewController。我正在其他ViewController中使用此日期选择器。当我尝试获取日期时,日志中始终显示上一个日期。这在每个视图控制器中都会发生 找一个约会选择者 self.datePicker = [[[UIDatePicker alloc] init] autorelease]; self.datePicker.datePickerMode = UIDatePickerModeDate; [self.datePicker

我使用带有UIDatePicker的baseViewController。我正在其他ViewController中使用此日期选择器。当我尝试获取日期时,日志中始终显示上一个日期。这在每个视图控制器中都会发生

找一个约会选择者

    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);
}

看起来您正在编辑实体的值,但并没有将其持久化。尝试在
save
方法的末尾添加如下内容:

NSError* error = nil;
[appDelegate.managedObjectContext save:&error];

作为测试,试着摆脱自动释放,看看你的行为是否改变。

@Sekhar这与运气无关。。。您是否在
error
变量中返回了一个值?这里没有更多的工作要做。您必须更好地解释您所做的尝试。我可以保存日期,但上一个日期已被保存…我按照您所说的添加了行。发布了更新的代码。
dateValueChanged:
被呼叫了吗?是否
保存:
被调用?是的,先生,如果没有这两个调用,我无法保存数据。但我可以保存数据,也可以在其他视图中检索数据。请为第二个方法添加断点,并检查
dateSelected
的值。你在用ARC吗?这两种方法都在asme等级内吗?即使在日志中,我也得到了上一个日期…是的,这两种方法都在同一个等级中看起来是日期选择器的问题。日期值更改方法返回了上一个日期。