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

时间:2012-01-09 11:37:21

标签: iphone objective-c ios xcode uidatepicker

我带了一个带有UIDatePicker的baseViewController。我正在其他viewControllers中使用这个日期选择器。当我想要一个date.always时,前一个日期显示在log.this发生在每个视图控制器。

获取日期选择器。

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

2 个答案:

答案 0 :(得分:1)

看起来你正在编辑你的实体的价值,但你并没有坚持它。尝试在save方法的末尾添加以下内容:

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

答案 1 :(得分:0)

作为测试,尝试摆脱自动释放,看看你的行为是否发生了变化。